Sobes.tech
Junior — Middle

Komponentlər və ya axınlar arasında qarşılıqlı əlaqəni təşkil etmək üçün kanallardan istifadə təcrübəniz haqqında danışın.

sobes.tech Süni İntellekt

AI-dan cavab

Go-da kanallar, goroutine'lar arasında təhlükəsiz məlumat mübadiləsini təşkil etmək üçün istifadə olunur, bu da sinxronizasiya və kommunikasiya prosesini sadələşdirir.

İki goroutine arasında məlumat ötürmək üçün kanal istifadəsinə nümunə:

package main

import (
    "fmt"
    "time"
)

func worker(ch chan string) {
    msg := <-ch // kanaldan mesaj alma
    fmt.Println("Alınan mesaj:", msg)
}

func main() {
    ch := make(chan string)
    go worker(ch)
    ch <- "Salam main-dən!" // kanala mesaj göndər
    time.Sleep(time.Second) // goroutine-in tamamlanmasını gözlə
}

Kanallar məlumat yarışlarını qarşısını alır və çoxluqla işləyərkən kodun oxunaqlığını və saxlanmasını asanlaşdırır.