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.