sha1関連のコードを調べています https://cs.opensource.google/go/go/ /refs/tags/ go1.21.5:src/crypto/sha1/sha1.go;l=146-152
特にこの行 append(in, hash[:]...)
hash...
で十分なようですが、なぜ hash[:]...
が使用されるのかわかりません。
これはテストコードです https://go.dev/play/p/DaIa0X4KyeD
リーリーそれでは、私の質問は、スライスについての [:]
は何を意味するのでしょうか?ありがとう!
hash
はスライスではなく配列(型[サイズ]バイト
)です。 hash[:]
はスライスであり、hash[0:len(hash)]
と同等です。 ...
表記にはスライスが必要なので、配列 hash
ではなくスライス hash[:]
に適用されます。
以上がGoスライスの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。