Junior — Middle
Sisteminizdə kanaldan məlumatların yaradılması və ötürülməsini necə həyata keçirirsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, məlumatların yaradılması və kanal vasitəsilə ötürülməsi üçün daxili chan tipi istifadə olunur. Kanallar, goroutinlər arasında təhlükəsiz məlumat mübadiləsini təmin edir.
Kanalın yaradılması və istifadəsi nümunəsi:
package main
import (
"fmt"
)
func main() {
// Tam ədədlərin ötürülməsi üçün kanal yaradılır
ch := make(chan int)
// Kanal vasitəsilə məlumat göndərən goroutine işə salınır
go func() {
ch <- 42 // 42 sayını göndəririk
close(ch) // göndərmədən sonra kanalı bağlayırıq
}()
// Kanaldan məlumat alınır
for val := range ch {
fmt.Println("Qəbul edilən dəyər:", val)
}
}
Burada:
make(chan int)intötürülməsi üçün kanal yaradır.<-operatoru məlumat göndərmək (ch <- 42) və almaq (val := <-ch) üçün istifadə olunur.- Kanalın bağlanması (
close(ch)) artıq məlumatın olmadığını göstərir. for rangedövrü kanaldan oxuyur və bağlanana qədər davam edir.
Bu şəkildə, kanallar sinxronizasiya və məlumat ötürməsini təmin edir paralel icra olunan axınlar arasında.