Sobes.tech
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.