Title here
Summary here
Go dilində, channel-ların bağlanması, məlumatların göndərilməsi və alınması prosesində sinxronizasiyanı təmin edir. close
funksiyası vasitəsilə channel bağlanır. Bağlanmış bir channel-a mesaj göndərmək mümkün deyil və həmin channel-dan daha çox mesaj alınmaz.
Bu nümunədə:
jobs
adlı bir channel yaradılır və işlər bu kanala göndərilir.done
adlı bir channel yaradılır və işlərin tamamlandığını bildirmək üçün istifadə olunur.goroutine
yaradılır və bu goroutine
, jobs
channel-ından mesajları alır. Alınan mesajların sayı azaldıqca hər dəfə “received job” yazısı çap edilir.for
döngüsü ilə jobs
channel-ına 3 iş göndərilir və hər göndərmə zamanı “sent job” mesajı göstərilir.jobs
channel-ı bağlandıqdan sonra goroutine
, channel-dan bütün mesajları alır və son olaraq “received all jobs” mesajı göstərilir.Bu nümunə, Go dilində bir channel-a mesaj göndərdikdən sonra onu necə bağlayacağınızı və bağlanmış channel-dan daha çox mesaj alınmadığını göstərir. Bağlı bir channel-dan oxumağa davam edə bilərsiniz, lakin artıq yeni mesajlar göndərilə bilməz.