Sobes.tech
Junior — Middle

Как се осъществява взаимодействието между горутините в езика за програмиране?

sobes.tech AI

Отговор от AI

В езика Go взаимодействието между горутините обикновено се осъществява чрез канали (channels). Каналите позволяват безопасно предаване на данни между горутините, осигурявайки синхронизация и обмен на съобщения.

Пример за използване на канал:

package main

import (
    "fmt"
)

func worker(ch chan string) {
    ch <- "готово"
}

func main() {
    ch := make(chan string)
    go worker(ch)
    msg := <-ch
    fmt.Println(msg)
}

Освен каналите, могат да се използват и други механизми за синхронизация, като mutex от пакета sync, но каналите се считат за идиоматичния начин за комуникация между горутините в Go.