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.