Go 中 slice 是否并发安全?两个协程分别向同一个 slice append 100 个数,最后 slice 的长度大概是多少?
考察说明
考察对 Go slice 并发安全性的理解以及对 append 内部机制的掌握
回答思路
- 明确说明 slice 不是并发安全的,需要加锁或使用其他同步机制
- 解释 append 可能触发扩容导致数据竞争
- 分析两个协程并发 append 时最终长度不确定,可能小于、等于或大于 200,且数据可能错乱
- 强调正确做法是使用互斥锁或 channel 同步
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。