Sobes.tech
Junior — Middle

Как трябва да се предаде канал към работеща горутина в Go?

sobes.tech AI

Отговор от AI

Обикновено канал в Go се предава като параметър на функция към горутината, за да се избегне използването на глобални променливи и да се подобри четливостта на кода. Например:

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

Този подход позволява ясно да се види кои канали се използват в горутината.