后端岗位面试题更新 2026-08-05

在 Go 中,如果对一个已经关闭的 Channel 进行发送或接收操作,分别会发生什么?请结合可能引发的错误和常见场景说明。

百度后端开发专业服务风险判断技术原理Go

考察说明

考察对 Go Channel 关闭后行为语义的理解,尤其是发送、接收和并发安全性

回答思路

  1. 明确指出关闭后发送会 panic,并解释原因
  2. 说明关闭后接收可以继续读取缓冲区剩余数据,再读得到零值
  3. 能区分对 nil channel 和已关闭 channel 的操作差异
  4. 能结合实际场景讨论关闭 channel 的注意事项,如只在发送方关闭、避免重复关闭
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。