Junior
Milliseid operatsioone saab Go-s kanalitega teha?
sobes.tech AI
Vastus AI-lt
- Saadetamine (
<-chan) - Vastuvõtt (
chan<-) - Sulgemine (
close) - Sulgemise kontroll (teine väärtus vastuvõtmisel)
- Kasutamine
select-is - Puhvri suuruse määramine (
capkasutades) - Praeguse elementide arvu määramine (
lenkasutades)
Näide:
// Puhvritud kanali loomine
ch := make(chan int, 5)
// Väärtuse saatmine
ch <- 10
// Väärtuse vastuvõtt
val := <-ch
// Kontroll, kas kanal on suletud vastuvõtmisel
val, ok := <-ch
// Kanali sulgemine
close(ch)
// Kasutamine `select`-is
select {
case msg1 := <-ch1:
// ch1 sõnumite töötlemine
case msg2 := <-ch2:
// ch2 sõnumite töötlemine
default:
// pole saadaval sõnumeid
}
// Puhvri suuruse määramine
bufferSize := cap(ch)
// Praeguse elementide arvu määramine
currentElements := len(ch)