func f(n int) {
for i := 0; i < 10; i++ {
fmt.Println(n, ":", i)
}
}
func main() {
go f(0)
var input string
fmt.Scanln(&input)
}
func main() {
messages := make(chan string)
go func() { messages <- "ping" }()
msg := <-messages
fmt.Println(msg)
}
func pinger(c chan<- string)
Канал c будет только отправлять сообщение.
func pinger(c <-chan string)
func main() {
messages := make(chan string, 2)
messages <- "buffered"
messages <- "channel"
fmt.Println(<-messages)
fmt.Println(<-messages)
}
func main() {
c1 := make(chan string)
c2 := make(chan string)
go func() { time.Sleep(time.Second * 1) c1 <- "one" }()
go func() { time.Sleep(time.Second * 2) c2 <- "two" }()
for i := 0; i < 2; i++ {
select {
case msg1 := <-c1:
fmt.Println("received", msg1)
case msg2 := <-c2:
fmt.Println("received", msg2)
}
}
}
Презентация и исходный код