Sobes.tech
Junior — Middle

Kaip turėtų būti perduotas kanalas į vykdomą goroutine'ą Go kalboje?

sobes.tech AI

Atsakymas iš AI

Go kanalas paprastai perduodamas kaip funkcijos parametras į gorutinas, siekiant išvengti globalių kintamųjų naudojimo ir pagerinti kodo skaitomumą. Pavyzdžiui:

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)
}

Šis požiūris leidžia aiškiai matyti, kurie kanalai naudojami gorutinoje.