In Go, slices ialah struktur data berkuasa yang mewakili jenis seperti tatasusunan yang fleksibel. Apabila bekerja dengan kepingan, anda mungkin terjumpa dua cara berbeza untuk mengisytiharkannya:
Memahami perbezaan antara kedua-dua pendekatan ini adalah penting untuk menulis kod Go yang cekap dan idiomatik.
var s []int
Pengisytiharan ringkas var s []int tidak memperuntukkan sebarang memori. Ia mencipta kepingan nil, bermakna s menunjuk ke alamat memori kosong. Pengisytiharan ini biasanya digunakan apabila anda tidak mengetahui saiz tepat kepingan yang anda perlukan di hadapan atau apabila anda perlu memperuntukkan memori secara dinamik kemudian.
s := make([]int, 0 )
Sebaliknya, s := make([]int, 0) memperuntukkan memori untuk kepingan dengan 0 elemen. Ia secara eksplisit mengarahkan pengkompil untuk mencipta kepingan dengan kapasiti tertentu, iaitu bilangan maksimum elemen yang boleh disimpan sebelum ia perlu berkembang. Dalam kes ini, ia mempunyai kapasiti 0. Pendekatan ini lebih disukai apabila anda mengetahui saiz tepat kepingan yang anda perlukan atau apabila anda ingin mengelakkan pengagihan semula memori yang tidak perlu.
Yang Mana Lebih Baik?
Secara amnya, menggunakan var s []int adalah lebih idiomatik apabila anda tidak mengetahui saiz tepat kepingan yang anda perlukan atau apabila anda mahu memperuntukkan memori secara dinamik. Jika anda mengetahui saiz yang tepat di hadapan atau perlu mengelakkan pengagihan semula memori, s := make([]int, 0) ialah pilihan yang lebih baik.
Atas ialah kandungan terperinci Go Slices: `var s []int` or `s := make([]int, 0)` – Pengisytiharan Mana Yang Terbaik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!