2019-10-07 21:58:34 +03:00

27 lines
1.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// _Каналы_ это способ связи паралелльных горутин между
// собой. Вы можете послать сообщение в канал из одной
// горутины и получить его в другой.
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)
}