0
package main
import "fmt"
import "time"
func main() {
message := make(chan string ,1) // no buffer
count := 3
go func() {
for i := 1; i <= count; i++ {
fmt.Println("send message")
message <- fmt.Sprintf("message %d", i)
}
}()
time.Sleep(time.Second * 3)
for i := 1; i <= count; i++ {
fmt.Println(<-message)
}
}
send message
send message [wait for 3 sec]
message 1
send message
message 2
message 3
如果我改變message := make(chan string ,1) // no buffer
到
message := make(chan string ,2) // no buffer
我
send message
send message
send message [wait 3 sec]
message 1
message 2
message 3
爲什麼2緩衝區chann el可以存儲3個字符串對象嗎?不是2?
感謝,