Junior — Middle
Cum se realizează interacțiunea între goroutines în limbajul de programare?
sobes.tech AI
Răspuns de la AI
În limbajul Go, interacțiunea între goroutines se realizează de obicei prin canale (channels). Canalele permit transmiterea sigură a datelor între goroutines, asigurând sincronizarea și schimbul de mesaje.
Exemplu de utilizare a unui canal:
package main
import (
"fmt"
)
func worker(ch chan string) {
ch <- "gata"
}
func main() {
ch := make(chan string)
go worker(ch)
msg := <-ch
fmt.Println(msg)
}
Pe lângă canale, se pot folosi și alte mecanisme de sincronizare, cum ar fi mutex din pachetul sync, dar canalele sunt considerate modalitatea idiomatică de comunicare între goroutines în Go.