Fungsi len() boleh digunakan untuk mendapatkan panjang pelbagai jenis data dalam Go. Dua jenis data yang biasa digunakan ialah rentetan dan kepingan. Memahami kerumitan len() pada jenis data ini adalah penting untuk mengoptimumkan prestasi program.
Rentetan dalam Go ialah jujukan titik kod Unicode yang tidak berubah. Panjang rentetan ialah bilangan titik kod yang terkandung di dalamnya. Rentetan diwakili secara dalaman oleh struktur yang merangkumi penuding kepada tatasusunan titik kod dan medan panjang. Apabila memanggil len() pada rentetan, Go hanya membaca medan panjang daripada struktur ini, menjadikan len() operasi O(1).
Slices dalam Go adalah secara dinamik bersaiz, pelbagai elemen fleksibel jenis tertentu. Kepingan mempunyai panjang, kapasiti dan penunjuk kepada tatasusunan elemen asas. Panjang hirisan ialah bilangan elemen yang diperuntukkan dalam hirisan pada masa ini. Kapasiti ialah bilangan maksimum elemen yang boleh disimpan dalam kepingan sebelum perlu diagihkan semula.
Serupa dengan rentetan, fungsi len() pada kepingan mengembalikan medan panjang daripada pengepala kepingan, yang mengandungi panjang, kapasiti dan penunjuk kepada tatasusunan yang mendasari. Ini menjadikan panggilan len() pada kepingan juga merupakan operasi O(1).
Fungsi len() mempunyai kerumitan O(1) untuk kedua-dua rentetan dan hirisan dalam Go. Kecekapan ini disebabkan oleh cara jenis data ini disimpan secara dalaman, dengan panjangnya tersedia dalam pengepala masing-masing.
Atas ialah kandungan terperinci Apakah Kerumitan Masa Fungsi `len()` Go untuk Rentetan dan Slices?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!