Sobes.tech
Junior — Middle

Ispričajte o svom iskustvu u korišćenju kanala za organizovanje interakcije između komponenti ili niti.

sobes.tech АИ

Одговор од АИ

U Go, kanali se koriste za organizaciju sigurne razmene podataka između gorutina, što olakšava sinhronizaciju i komunikaciju.

Primer korišćenja kanala za prenos podataka između dve gorutine:

package main

import (
    "fmt"
    "time"
)

func worker(ch chan string) {
    msg := <-ch // primanje poruke iz kanala
    fmt.Println("Primljena poruka:", msg)
}

func main() {
    ch := make(chan string)
    go worker(ch)
    ch <- "Zdravo iz main!" // slanje poruke u kanal
    time.Sleep(time.Second) // čekanje na završetak gorutine
}

Kanali pomažu u izbegavanju trka podataka i čine kod čitljivijim i održivijim pri radu sa konkurentnošću.