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.