Junior — Middle
Kaip vyksta sąveika tarp gorutinų programavimo kalboje?
sobes.tech AI
Atsakymas iš AI
Go kalboje, gorutinos tarpusavio sąveika paprastai vykdoma per kanalus (channels). Kanalai leidžia saugiai perduoti duomenis tarp gorutinų, užtikrindami sinchronizaciją ir žinučių keitimą.
Pavyzdys, kaip naudoti kanalą:
package main
import (
"fmt"
)
func worker(ch chan string) {
ch <- "paruošta"
}
func main() {
ch := make(chan string)
go worker(ch)
msg := <-ch
fmt.Println(msg)
}
Be kanalų, galima naudoti ir kitus sinchronizacijos mechanizmus, pavyzdžiui, mutex iš package sync, tačiau kanalai laikomi idiomatišku būdu bendrauti tarp gorutinų Go kalboje.