プログラミング
UUID: NewV7() がブラウザで常に7000を含むUUIDを生成する (Golang)
UUID: NewV7() always generates a UUID with 7000 on browsers (Golang) (github.com)
要約
このGitHub issueは、Go言語の `uuid` パッケージにおける `NewV7()` 関数が、`js/wasm`ターゲット向けにコンパイルされた際に、UUIDの特定の部分(バージョンフィールド後)にランダムなバイトではなく常に `7000` を生成するというバグを報告しています。期待される動作ではランダムな値が含まれるはずであり、Go 1.27rc1で確認されています。この問題は、UUIDのバージョン7の仕様に違反する可能性があります。
全文翻訳
golang / go Public Notifications 通知設定を変更するにはサインインが必要です Fork 19k Star 135k
uuid: NewV7() がブラウザで常に7000を含むUUIDを生成する #80084
新規issue コピーリンク 新規issue コピーリンク
オープン #80091
uuid: NewV7() がブラウザで常に7000を含むUUIDを生成する #80084#80091 コピーリンク
ラベル
NeedsDecision
変更を行う前に専門家、貢献者、および/またはコミュニティからのフィードバックが必要です。
変更を行う前に専門家、貢献者、および/またはコミュニティからのフィードバックが必要です。
help wanted
マイルストーン
Go1.27
説明
hajimehoshi が 2026年6月20日にオープンしました。
Issue body actions
Goバージョン
go version go1.27rc1 darwin/arm64
モジュール/ワークスペースでの go env の出力:
AR='ar' CC='clang' CGO_CFLAGS='-O2 -g' CGO_CPPFLAGS='' CGO_CXXFLAGS='-O2 g' CGO_ENABLED='1' CGO_FFLAGS='-O2 g' CGO_LDFLAGS='-O2 g' CXX='clang++' GCCGO='gccgo' GO111MODULE='' GOARCH='arm64' GOARM64='v8.0' GOAUTH='netrc' GOBIN='/Users/hajimehoshi/go/bin' GOCACHE='/Users/hajimehoshi/Library/Caches/go-build' GOCACHEPROG='' GODEBUG='' GOENV='/Users/hajimehoshi/Library/Application Support/go/env' GOEXE='' GOEXPERIMENT='' GOFIPS140='off' GOFLAGS='' GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/cj/73zbb35j0qx5t4b6rnqq0__h0000gn/T/go-build1757681747=/tmp/go-build -gno-record-gcc-switches -fno-common' GOHOSTARCH='arm64' GOHOSTOS='darwin' GOINSECURE='' GOMOD='/Users/hajimehoshi/test/uuidv7/go.mod' GOMODCACHE='/Users/hajimehoshi/go/pkg/mod' GONOPROXY='' GONOSUMDB='' GOOS='darwin' GOPACKAGESDRIVER='' GOPATH='/Users/hajimehoshi/go' GOPRIVATE='' GOPROXY='https://proxy.golang.org,direct' GOROOT='/Users/hajimehoshi/sdk/go1.27rc1' GOSUMDB='sum.golang.org' GOTELEMETRY='on' GOTELEMETRYDIR='/Users/hajimehoshi/Library/Application Support/go/telemetry' GOTMPDIR='' GOTOOLCHAIN='auto' GOTOOLDIR='/Users/hajimehoshi/sdk/go1.27rc1/pkg/tool/darwin_arm64' GOVCS='' GOVERSION='go1.27rc1' GOWORK='' PKG_CONFIG='pkg-config'
何をしたか?
このプログラムを作成する
```go
package main
import "uuid"
func main() {
println(uuid.NewV7().String())
}
```
js/wasm ターゲット向けにこれを実行する (GOOS=js GOARCH=wasm go1.27rc1 run main.go をテストしました。nodeとgo_js_wasm_execがPATHにある場合、コンソールに出力されます)
何が起こったか?
出力が常に 7000 の部分を含んでいる
```
019ee60f-29b3-7000-a12b-f817e25db8f4
019ee610-29c7-7000-bc34-f04bc09150bb
019ee610-2eb4-7000-884a-dfcad78e47d9
```
何を見ることを期待したか?
000 の部分にはランダムなバイトが含まれるべきです (この問題は @mimifuwacc によって発見されました (https://x.com/mimifuwacc/status/2068357756609065444))
リアクションは現在利用できません
メタデータ
メタデータ
Assignees
誰もアサインされていません
ラベル
NeedsDecision
変更を行う前に専門家、貢献者、および/またはコミュニティからのフィードバックが必要です。
変更を行う前に専門家、貢献者、および/またはコミュニティからのフィードバックが必要です。
help wanted
Type
タイプなし
Fields
フィードバックを提供する
タイプのないissueに設定されたフィールドはありません。
Projects
プロジェクトなし
Milestone
Go1.27
期限なし
Relationships
まだありません
Development
ブランチやプルリクエストはありません
Issue actions