Skip to content

Day 10 - Channel ​

channel基础 ​

go
// 创建
ch := make(chan int)

// 发送
ch <- 1

// 接收
v := <-ch

// 关闭
close(ch)

缓冲channel ​

go
ch := make(chan int, 10) // 容量10

select ​

go
select {
case msg1 := <-ch1:
    fmt.Println(msg1)
case msg2 := <-ch2:
    fmt.Println(msg2)
default:
    fmt.Println("无数据")
}

面试考点 ​

问题:channel有哪些状态? ​

答案:

操作nil channel已关闭 channel正常 channel
发送阻塞panic阻塞/成功
接收阻塞返回零值阻塞/成功
关闭-panic成功

📅 学习进度 ​

Day主题状态
01-09基础/并发✅
10Channel✅
11同步原语⬜

本文为Go 30天学习计划第10天内容 ​

📚 导航 ​

| ← Day 09 - 上一章 | Day 11 - 下一章 →

最后更新: