Menukar Tatasusunan kepada Slices dalam Go
Apabila bekerja dengan tatasusunan dan kepingan dalam Go, anda mungkin perlu menukar antara dua jenis data . Ini berguna apabila menghantar data antara fungsi yang menjangkakan jenis input yang berbeza.
Andaikan anda mempunyai fungsi yang mengembalikan tatasusunan bait:
func Foo() [32]byte { ... }
Anda mungkin perlu menghantar hasil tersebut kepada fungsi lain yang menjangkakan sekeping bait:
func Bar(b []byte) { ... }
Jika anda hanya cuba memanggil Bar(d) di mana d ialah tatasusunan yang dikembalikan oleh Foo, anda akan mendapat ralat penukaran jenis. Ini kerana tatasusunan dan kepingan ialah jenis yang berbeza dalam Go.
Untuk menukar tatasusunan kepada kepingan, anda boleh menggunakan sintaks [:]. Ini akan mencipta kepingan yang merujuk kepada data tatasusunan asas. Contohnya:
d := Foo() Bar(d[:])
Ini akan menghantar sekeping data daripada tatasusunan d ke Bar fungsi. Potongan akan merujuk penimbal asas yang sama seperti tatasusunan, jadi tiada penyalinan data akan berlaku.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Tatasusunan Go kepada Slice?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!