Apabila bekerja dengan tatasusunan dalam Go, selalunya perlu menukar tatasusunan saiz tetap kepada pembolehubah -tatasusunan bersaiz (hirisan). Walau bagaimanapun, cubaan untuk menetapkan tatasusunan bersaiz tetap secara langsung kepada kepingan boleh mengakibatkan ralat, seperti yang dilihat dalam contoh di bawah:
package main import ( "fmt" ) func main() { var a [32]byte b := []byte(a) fmt.Println(" %x", b) }
Pengkompil akan membuang ralat:
./test.go:9: cannot convert a (type [32]byte) to type []byte
Untuk berjaya menukar tatasusunan saiz tetap kepada kepingan, anda boleh menggunakan ungkapan b := a[:]. Ini akan mencipta kepingan yang merujuk tatasusunan asas, tanpa membuat salinan:
b := a[:]
Sumber Tambahan:
Rujuk catatan blog berikut untuk perbincangan terperinci mengenai perbezaan antara tatasusunan dan kepingan dalam Go:
Atas ialah kandungan terperinci Bagaimana untuk Menukar Tatasusunan Saiz Tetap kepada Slice dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!