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.