Junior
Go-da kanallarla hansı əməliyyatlar həyata keçirilə bilər?
sobes.tech Süni İntellekt
AI-dan cavab
- Göndərmə (
<-chan) - Qəbul (
chan<-) - Bağlama (
close) - Bağlanma yoxlaması (qəbul zamanı ikinci dəyər)
selectdaxilində istifadə- Yaddaş ölçüsünün təyin edilməsi (
capistifadə etməklə) - Mövcud elementlərin sayını təyin etmək (
lenistifadə etməklə)
Nümunə:
// Yaddaşlı kanal yaratmaq
ch := make(chan int, 5)
// Dəyər göndərmək
ch <- 10
// Dəyər almaq
val := <-ch
// Alma zamanı bağlanıb-bağlanmadığını yoxlamaq
val, ok := <-ch
// Kanalı bağlamaq
close(ch)
// `select` daxilində istifadə
select {
case msg1 := <-ch1:
// ch1-dən mesajların işlənməsi
case msg2 := <-ch2:
// ch2-dən mesajların işlənməsi
default:
// mövcud mesajlar yoxdur
}
// Yaddaş ölçüsünü təyin etmək
bufferSize := cap(ch)
// Mövcud elementlərin sayını təyin etmək
currentElements := len(ch)