Junior — Middle
Kuidas peaks kanalit edastama käimasolevale goroutine'ile Go keeles?
sobes.tech AI
Vastus AI-lt
Go-s kanal tavaliselt edastatakse gorutine'ile funktsiooni parameetrina, et vältida globaalsete muutujate kasutamist ja parandada koodi loetavust. Näiteks:
func worker(ch chan int) {
for val := range ch {
fmt.Println(val)
}
}
func main() {
ch := make(chan int)
go worker(ch)
ch <- 1
ch <- 2
close(ch)
}
Selline lähenemine võimaldab selgelt näha, milliseid kanaleid gorutines kasutatakse.