Apabila bekerja dengan tatasusunan dalam Go, adalah penting untuk memahami cara menentukan saiznya dengan cekap. Artikel ini menyelidiki pendekatan berbeza yang tersedia.
Persoalan awal timbul daripada fakta bahawa fungsi len() mengembalikan saiz tatasusunan yang diisytiharkan, bukannya bilangan sebenar elemen yang dimulakan.
package main var check [100]int func main() { println(len(check)) }
Output: 100
Sementara kod di atas mengisytiharkan tatasusunan saiz 100, fungsi len() melaporkan saiz itu, walaupun tiada satu pun elemen telah dimulakan.
Dalam Go, tatasusunan ditetapkan dalam saiz. Ini bermakna apabila dibuat, saiznya tidak boleh diubah suai. Akibatnya, panjang tatasusunan ialah sifat intrinsik jenisnya. Untuk tatasusunan jenis [100]int, panjangnya akan sentiasa 100 dan len() mencerminkan nilai malar ini.
Tidak seperti bahasa lain, Go tidak menjejaki bilangan elemen yang dimulakan dalam tatasusunan. Ini kerana tatasusunan dimulakan kepada nilai sifarnya apabila dibuat. Sebagai contoh, tatasusunan integer akan mempunyai semua elemen ditetapkan kepada 0 secara lalai. Oleh itu, tidak ada keperluan untuk mekanisme yang berasingan untuk mengira elemen yang dimulakan.
Jika anda memerlukan struktur data yang berkembang secara dinamik untuk menampung elemen baharu, pertimbangkan untuk menggunakan kepingan. daripada tatasusunan. Slices ialah jenis rujukan yang menyediakan paparan fleksibel ke dalam tatasusunan asas.
package main func main() { s := []int{1, 2, 3} fmt.Println(len(s)) // Outputs: 3 }
Dalam contoh ini, s ialah hirisan yang merujuk tatasusunan saiz 3. Fungsi len() mengembalikan bilangan yang dimulakan dengan betul elemen.
Memahami cara menentukan saiz tatasusunan dalam Go adalah penting untuk cekap pengurusan data. Tatasusunan menawarkan storan bersaiz tetap, manakala hirisan menyediakan alternatif dinamik untuk mengurus elemen saiz yang berbeza-beza.
Atas ialah kandungan terperinci Bagaimana Saya Menentukan Saiz Array dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!