Principal
Ce este un canal în Go, pentru ce este folosit?
sobes.tech AI
Răspuns de la AI
În limbajul Go, un canal (channel) este un tip de date utilizat pentru transmiterea datelor între goroutines (fir de execuție ușor). Canalele asigură o comunicare sigură și sincronizare între procesele paralele, permițând transmiterea valorilor de un anumit tip.
Canalele sunt folosite pentru a organiza interacțiunea fără blocări explicite și stare partajată. Ele permit goroutine-urilor să schimbe date și semnale, ceea ce simplifică scrierea codului concurent.
Exemplu de utilizare a unui canal în Go:
package main
import (
"fmt"
)
func main() {
ch := make(chan int) // creăm un canal pentru transmiterea de int
go func() {
ch <- 42 // trimitem o valoare în canal
}()
val := <-ch // primim o valoare din canal
fmt.Println(val) // ieșire: 42
}
Prin urmare, un canal este un mijloc de comunicare și sincronizare între goroutine-uri în Go.