Menentukan Saiz Tatasusunan dalam Go
Dalam Go, tatasusunan mempunyai saiz tetap, bermakna ia tidak boleh diubah saiznya selepas penciptaan. Oleh itu, panjang tatasusunan ialah sifat intrinsik jenisnya. Fungsi len() boleh mendedahkan panjang ini, yang kekal malar sepanjang hayat tatasusunan.
Gelagat len() Berlawanan
Contoh yang diberikan menggambarkan salah faham biasa. Fungsi len() mengembalikan saiz tatasusunan yang diisytiharkan, iaitu 100 dalam kes ini. Walau bagaimanapun, output mungkin mengelirukan jika anda menjangkakan ia mewakili bilangan elemen yang dimulakan kepada nilai bukan sifar.
Tasusunan Tidak Dimulakan dalam Go
Tatasusunan Go adalah secara automatik dimulakan dengan nilai sifar untuk semua elemen. Jadi, walaupun tatasusunan mempunyai saiz yang diisytiharkan sebanyak 100, ia mengandungi hanya sifar sehingga nilai eksplisit diberikan kepada indeks tertentu. Ini bermakna bahawa "jumlah item dalam tatasusunan" berkesan sentiasa sama dengan saiz yang diisytiharkan.
Slices: A Different Story
Slices, berbeza dengan array, memberikan pandangan dinamik ke dalam sebahagian daripada tatasusunan asas. Mereka mempunyai panjang dan kapasiti, di mana kapasiti ialah panjang maksimum yang boleh dipanjangkan hirisan. Apabila hirisan dilanjutkan melebihi panjang semasanya, Go secara automatik memperuntukkan tatasusunan asas yang lebih besar dan melaraskan deskriptor hirisan dengan sewajarnya.
Jika anda berminat dengan bilangan elemen bukan sifar dalam tatasusunan, pertimbangkan untuk menggunakan untuk- gelung julat untuk mengulangi elemen dan mengira unsur yang bukan sifar. Sebagai alternatif, anda boleh menggunakan kepingan dan mengubah suai panjang kepingan mengikut keperluan.
Untuk pemahaman menyeluruh tentang tatasusunan dan kepingan dalam Go, rujuk catatan blog yang disyorkan pada Go Slices dan Arrays. Sumber ini memberikan cerapan terperinci tentang nuansa dan cara kerja dalaman tatasusunan dan operasi hirisan dalam bahasa Go.
Atas ialah kandungan terperinci Bagaimanakah Saya Menentukan Saiz dan Bilangan Elemen Dimulakan dalam Tatasusunan Pergi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!