Sobes.tech
Junior

Go-da kanallarla hansı əməliyyatlar həyata keçirilə bilər?

sobes.tech Süni İntellekt

AI-dan cavab

  • Göndərmə (<-chan)
  • Qəbul (chan<-)
  • Bağlama (close)
  • Bağlanma yoxlaması (qəbul zamanı ikinci dəyər)
  • select daxilində istifadə
  • Yaddaş ölçüsünün təyin edilməsi (cap istifadə etməklə)
  • Mövcud elementlərin sayını təyin etmək (len istifadə etməklə)

Nümunə:

// Yaddaşlı kanal yaratmaq
ch := make(chan int, 5)

// Dəyər göndərmək
ch <- 10

// Dəyər almaq
val := <-ch

// Alma zamanı bağlanıb-bağlanmadığını yoxlamaq
val, ok := <-ch

// Kanalı bağlamaq
close(ch)

// `select` daxilində istifadə
select {
case msg1 := <-ch1:
	// ch1-dən mesajların işlənməsi
case msg2 := <-ch2:
	// ch2-dən mesajların işlənməsi
default:
	// mövcud mesajlar yoxdur
}

// Yaddaş ölçüsünü təyin etmək
bufferSize := cap(ch)

// Mövcud elementlərin sayını təyin etmək
currentElements := len(ch)