N uzunluğunda bir kanal verildiğinde, sadece dolu değilse, ona yazmak istiyorum. Else bu paketi bırakıp bir sonraki işlemi yapacağım. GOlangGolang drop pack'leri blok yerine yazmalar üzerinde yapabilir misiniz?
8
A
cevap
18
Sen select
kullanabilirsiniz
bu mümkün mü. Örnek:
package main
func main() {
ch := make(chan int, 2)
for i := 0; i < 10; i++ {
select {
case ch <- i:
// process this packet
println(i)
default:
println("full")
// skip the packet and continue
}
}
}
0
bildiğim işten geçtikten sonra biraz ama bu yazdığım yardımcı paketinde OverflowingChannel
tipine göre uygulanan tam olarak ne olduğunu. Yukarıdaki seçim hilesi etkili bir şekilde kullanır.
- Kodu: https://github.com/eapache/channels
- Dokümantasyon: https://godoc.org/github.com/eapache/channels
İlgili konular
- 1. Gelişmiş UI'leri storyboard'larla yapabilir misiniz?
- 2. golang aralığı başvurular yerine
- 3. Matlab'da gecikmeli bir set (: Mathematica'da) yapabilir misiniz?
- 4. Üzerine yazmak yerine {% blok%} ekleyebilir miyiz?
- 5. Seçici yerine bir blok nesnesi mi kullanıyorsunuz?
- 6. Can Perl 6 sıralamalara göre sıralama veya karşılaştırma yapabilir misiniz?
- 7. JOIN w/TSQL üzerinde bir LIKE operatörü kullanarak güncelleme yapabilir misiniz?
- 8. Marker drop etkinliği mi?
- 9. SSD disk üzerinde bir blok TRIM nasıl?
- 10. Bir dizi blok üzerinde nasıl numaralandırıyorsunuz?
- 11. JNI yerine Apache Thrift'i kullanabilir misiniz?
- 12. Rails 3 aramasında bir tarihte karşılaştırmadan daha fazlasını yapabilir misiniz?
- 13. Masterdetailpage simgesi/metni ile bir tıklama yapabilir misiniz?
- 14. GROUP BY select ile projeksiyonun SUM'una göre sıralama yapabilir misiniz?
- 15. Bir güçlendirmeyi SWIG yapabilir misiniz: isteğe bağlı <>?
- 16. JAX-RS/Jersey ile geleneksel Servlet Filtreleme yapabilir misiniz?
- 17. C++'da bir boole bitsel olarak geçiş yapabilir misiniz?
- 18. GridFS'den (MongoDB dosya sistemi) video akışı yapabilir misiniz?
- 19. jQuery: Sınıf değil, CSS kuralına göre seçim yapabilir misiniz?
- 20. Can HQL Başka bir sorgunun sonuç kümesinde seçim yapabilir misiniz?
- 21. Neler yapabilir/yapabilir?
- 22. Golang byte
- 23. blok
- 24. blok
- 25. DROP NOT NULL CONSTRAINT
- 26. Drag & Drop Dosya Yükleme
- 27. Laravel drop Benzersiz Sütun
- 28. DROP DATABASE başarısız oldu
- 29. Golang
- 30. Golang