package main import "fmt" func main() { // 示例1:带缓冲通道(容量2) ch := make(chan int, 2) ch <- 100 ch <- 200 fmt.Printf("ch: 长度=%d, 容量=%d\n", len(ch), cap(ch)) // ch: 长度=2, 容量=2 fmt.Println(<-ch) // 100 fmt.Println(<-ch) // 200 // 示例2:无缓冲通道(容量0) ch2 := make(chan string) go func() { ch2 <- "hello make" // 发送阻塞,直到接收方准备好 }() fmt.Println(<-ch2) // 接收阻塞,直到发送方完成 }