Sobes.tech
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.