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 - 下一章 →

最后更新: