Sobes.tech
Junior — Middle

როგორ უნდა გადავცეთ არხი მუშაობაში მყოფ goroutine-ს Go-ში?

sobes.tech AI

პასუხი AI-სგან

Go-ში არხი ჩვეულებრივ გადაეცემა goroutine-ს როგორც ფუნქციის პარამეტრი, რათა თავიდან აიცილოს გლობალური ცვლადების გამოყენება და გაუმჯობესდეს კოდის წაკითხულობა. მაგალითად:

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

ეს მიდგომა საშუალებას აძლევს ნათლად დაინახოს, რომელი არხები გამოიყენება goroutine-ში.