Junior — Middle
Hoe wordt gegevensoverdracht via een niet-bufferende communicatiekanaal uitgevoerd?
sobes.tech AI
Antwoord van AI
Gegevensoverdracht via een niet-buffered kanaal in Go gebeurt synchron.
Voorbeeld:
ch := make(chan int) // niet-buffered kanaal
// Verzender
go func() {
ch <- 42 // wordt geblokkeerd totdat de ontvanger leest
}()
// Ontvanger
val := <-ch // wordt geblokkeerd totdat er een waarde verschijnt
fmt.Println(val) // zal 42 afdrukken
Zo worden gegevens direct overgedragen, zonder tussenopslag, wat zorgt voor synchronisatie tussen verzender en ontvanger.