Rumah >pembangunan bahagian belakang >Golang >Bagaimana Anda Menentukan Bilangan Elemen dalam Saluran Penampan?

Bagaimana Anda Menentukan Bilangan Elemen dalam Saluran Penampan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-14 14:28:02448semak imbas

How Do You Determine the Number of Elements in a Buffered Channel?

Mengukur Bilangan Elemen dalam Saluran Penampan

Saluran penampan menyediakan cara komunikasi yang mudah antara goroutine sambil membenarkan penyimpanan sementara elemen. Untuk mengurus kawalan aliran dengan berkesan, adalah perlu untuk menentukan bilangan elemen yang terdapat pada masa ini dalam saluran.

Menggunakan Fungsi len

Bahasa Go menyediakan fungsi terbina dalam len, yang boleh digunakan untuk mendapatkan panjang pelbagai struktur data, termasuk saluran. Dalam konteks saluran penimbal, fungsi len mengembalikan bilangan elemen yang sedang beratur belum dibaca dalam penimbal saluran.

Contoh Kod

Kod berikut menunjukkan penggunaan fungsi len untuk mengukur bilangan elemen dalam saluran penimbal:

package main

import "fmt"

func main() {
    c := make(chan int, 100) // create a buffered channel with a capacity of 100
    for i := 0; i < 34; i++ {
        c <- 0 // send 34 elements to the channel
    }
    fmt.Println(len(c)) // print the number of unread elements in the channel
}

Output

Berjalan kod akan menghasilkan output berikut:

34

Ini mengesahkan bahawa saluran mengandungi 34 elemen. Adalah penting untuk ambil perhatian bahawa disebabkan keselarasan, ukuran mungkin tidak tepat dalam semua kes, kerana pra-pengecualian boleh berlaku antara pengukuran dan tindakan.

Atas ialah kandungan terperinci Bagaimana Anda Menentukan Bilangan Elemen dalam Saluran Penampan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn