Rumah > Artikel > pembangunan bahagian belakang > Cara menggunakan kepingan Go
Saya sedang melihat kod berkaitan sha1 https://cs.opensource.google/go/go/+/refs/tags/go1.21.5:src/crypto/sha1/sha1.go ;l =146-152
Terutama baris ini append(in, hash[:]...)
Saya tidak pasti mengapa menggunakan hash[:]...
,而 hash...
nampaknya sudah mencukupi.
Ini ialah kod ujian https://go.dev/play/p/DaIa0X4KyeD
func main() { s := make([]int, 2, 10) s[0] = 1 s[1] = 2 d := []int{88} d = append(d, s[:]...) // d = append(d, s...) seems to work the same fmt.Printf("d is: (%v)\n", d) fmt.Printf("d len is: (%v)\n", len(d)) fmt.Printf("d cap is: (%v)\n", cap(d)) }
Jadi soalan saya ialah apakah maksud [:]
untuk menghiris? Terima kasih! [:]
对于切片来说有什么意义?谢谢!
hash
是一个数组(类型为 [Size]byte
),而不是切片。 hash[:]
是一个切片 — 相当于 hash[0:len(hash)]
。 ...
表示法需要一个切片,因此它应用于切片 hash[:]
而不是数组 hash
[Saiz]bait
), bukan sekeping. hash[:]
ialah kepingan — bersamaan dengan hash[0:len(hash)]
. Notasi ...
memerlukan hirisan, jadi ia digunakan pada hirisan hash[:]
dan bukannya tatasusunan hash
. 🎜Atas ialah kandungan terperinci Cara menggunakan kepingan Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!