Sobes.tech
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 (cap kasutades)
  • Praeguse elementide arvu määramine (len kasutades)

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)