Sobes.tech
Senior

Ce entitate este utilizată pentru a transmite date între goroutines?

sobes.tech AI

Răspuns de la AI

În Go, pentru transmiterea datelor între goroutines, se folosește o entitate numită canal (channel). Canalele permit schimbul sigur de date, sincronizând execuția goroutine-urilor.

Exemplu de utilizare a unui canal:

ch := make(chan int) // creăm un canal pentru transmiterea de int

go func() {
    ch <- 42 // trimitem valoarea în canal
}()

valoare := <-ch // primim valoarea din canal
fmt.Println(valoare) // va afișa 42

Canalele pot fi cu buffer și nesigure, ceea ce permite gestionarea flexibilă a sincronizării și schimbului de date între goroutine-uri.