Alireza Shamsi
Alireza Shamsi
خواندن ۱ دقیقه·۶ سال پیش

24.آموزش GO با مثال(بافر کردن کانال)

به صورت پیش فرض کانال ها بافر نشده هستند، به این معنی که ارسال ها را به وسیله (->chan) قبول میکنند ،اگر یک دریافت کننده مطابق با آن مثل (chan->) وجود داشته باشد آماده است تا مقدار های ارسال شده را دریافت کند.کاناهالهای بافر شده تعداد محدودی مقدار را بدون مطابقت دریافت کننده برای این مقادیر قبول میکنند.

package main import "fmt" func main() {

اینجا ما از تابع درونی make برای ساختن یک کانالی که 2 مقدار را در خود بافر میکند داریم.

messages := make(chan string, 2)

چون این کانال بافر شده است, ما میتونیم این مقادیر رو بدون یک دریافت همزمان تطبیقی به کانال ارسال کنیم .

messages <- "buffered" messages <- "channel"

و در بعد ما میتونیم به صورت معمول این دو مقدار را دریافت کنیم.

fmt.Println(<-messages) fmt.Println(<-messages) }

اجرای این برنامه

$ go run channel-buffering.go buffered channel

<<کانالها----------------------------------------------- هماهنگ سازی کانال >>

golang
در جست و جوی خود
مستندات زبان گولنگ به پارسی(GO)
شاید از این پست‌ها خوشتان بیاید