|
کانالها (channels) لولههایی هستند که گوروتینهای
همروند را به هم وصل میکنند. میتوانید از یک گوروتین
مقادیری را به کانال بفرستید و در گوروتینی دیگر آنها را
دریافت کنید.
|
|
|
|

package main
|
|
|
import "fmt"
|
|
|
func main() {
|
|
یک کانال جدید را با make(chan val-type) بسازید.
نوع کانالها با نوع مقادیری که منتقل میکنند تعیین
میشود.
|
messages := make(chan string)
|
|
با نحو channel <- یک مقدار را به کانال بفرستید.
اینجا از یک گوروتین جدید، "ping" را به کانال
messages که بالا ساختیم میفرستیم.
|
go func() { messages <- "ping" }()
|
|
نحو <-channel یک مقدار را از کانال دریافت
میکند. اینجا پیام "ping" را که بالا فرستادیم
دریافت و چاپ میکنیم.
|
msg := <-messages
fmt.Println(msg)
}
|