Sobes.tech
Junior — Middle

Kanaldagi hozirgi navbat uzunligini qanday aniqlash mumkin?

sobes.tech AI

AIdan javob

Go tilida, hozirgi navbat uzunligini kanalda len() ichki funksiyasi yordamida aniqlash mumkin. Bu funktsiya hozirda kanalning buferida joylashgan elementlar sonini (ya'ni, qabul qilishni kutayotgan xabarlar sonini) qaytaradi. Masalan:

ch := make(chan int, 5)
ch <- 1
ch <- 2
fmt.Println(len(ch)) // 2 ni chiqaradi

Muhim: len() faqat bufferli kanallar uchun ishlaydi, bufferisiz kanallar uchun doimo 0 bo'ladi.