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-ში.