Sobes.tech
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 range dö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.