Sobes.tech
Junior

Чӣ амалҳо метавонанд бо каналҳо дар Go иҷро шаванд?

sobes.tech AI

Ҷавоб аз AI

  • Илгээлт (<-chan)
  • Хүлээн авалт (chan<-)
  • Хаах (close)
  • Хаах эсэхийг шалгах (хүлээн авах үед хоёр дахь утга)
  • select дотор ашиглах
  • Buffer-ийн хэмжээг тодорхойлох (cap ашиглан)
  • Одоогийн элементийн тоог тодорхойлох (len ашиглан)

Жишээ:

// Bufferитой суваг үүсгэх
ch := make(chan int, 5)

// Үнэтэй илгээх
ch <- 10

// Үнэтэй авах
val := <-ch

// Авах үед хаагдсан эсэхийг шалгах
val, ok := <-ch

// Суурийг хаах
close(ch)

// select дотор ашиглах
select {
case msg1 := <-ch1:
	// ch1-с мессежүүдийг боловсруулах
case msg2 := <-ch2:
	// ch2-с мессежүүдийг боловсруулах
default:
	// Хэрэглэж болох мессеж байхгүй
}

// Buffer-ийн хэмжээг тодорхойлох
bufferSize := cap(ch)

// Одоогийн элементийн тоог тодорхойлох
currentElements := len(ch)