Sobes.tech
Senior

Goroutine'lar arasında məlumatların ötürülməsi üçün hansı obyekt istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, goroutine'lar arasında məlumatların ötürülməsi üçün kanal (channel) adlı varlıq istifadə olunur. Kanallar, goroutine'ların icrasını sinxronlaşdıraraq təhlükəsiz məlumat mübadiləsinə imkan verir.

Kanalın istifadəsinə nümunə:

ch := make(chan int) // int ötürmək üçün kanal yaradılır

go func() {
    ch <- 42 // dəyəri kanala göndərir
}()

dəyər := <-ch // kanaldan dəyəri alır
fmt.Println(dəyər) // 42 göstərəcək

Kanalar bufferli və təhlükəsiz olmayan ola bilər, bu da goroutine'lar arasında sinxronizasiya və məlumat mübadiləsini elastik idarə etməyə imkan verir.