Cara Mengukur Bilangan Elemen dalam Saluran Penampan
Saluran Penampan dalam Go menyediakan cara untuk memegang sejumlah elemen sebelum menyekat sama ada operasi hantar atau terima. Menentukan kiraan elemen yang disimpan dalam saluran boleh menjadi penting untuk menguruskan kawalan aliran antara pengeluar dan pengguna. Walau bagaimanapun, disebabkan keselarasan, mendapatkan ukuran yang tepat boleh menjadi mencabar.
Satu pendekatan untuk mengukur bilangan elemen dalam saluran ialah menggunakan fungsi len() terbina. Menurut dokumentasi Go, len() mengembalikan panjang objek berdasarkan jenisnya. Untuk saluran, len() mengembalikan bilangan elemen beratur (belum dibaca) dalam penimbal saluran.
Untuk menunjukkan ini, pertimbangkan contoh kod berikut:
package main import "fmt" func main() { c := make(chan int, 100) for i := 0; i < 34; i++ { c <- 0 } fmt.Println(len(c)) }
Dalam kod ini, kami cipta saluran buffered dengan kapasiti 100. Gelung kemudian digunakan untuk menghantar 34 elemen ke dalam saluran. Akhir sekali, kami menggunakan len(c) untuk menentukan bilangan elemen yang sedang disimpan dalam saluran.
Apabila anda menjalankan program ini, ia akan mengeluarkan:
34
Ini mengesahkan bahawa len( ) boleh digunakan untuk mengukur bilangan elemen dalam saluran, walaupun dengan kemungkinan gangguan berkaitan konkurensi.
Atas ialah kandungan terperinci Bagaimanakah anda mengukur bilangan elemen dalam saluran penimbal dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!