主要观点:作者多年来随意用 Go 写后端,近期在升级[Mess with DNS]时遇到 bug 发现对语言基本概念的理解缺失,进而发现[100 Go Mistakes and How To Avoid Them]网站,分享了在该网站学到的一些 Go 相关错误及理解,包括结构体赋值复制、切片操作的副作用、方法接收者类型等,还提到这种“100 常见错误”格式很好,以及其他一些 Go 资源。
关键信息:
- 作者的多个 Go 项目后端用 Go 写,近期工作中遇到 bug。
- [100 Go Mistakes and How To Avoid Them]网站 2022 年推出,作者阅读后发现自己对 Go 的一些误解。
- 如结构体赋值时被复制,导致在
range
循环中修改副本不影响原数组;切片操作的副作用;方法接收者类型对结构体修改的影响等。 - 还提到一些其他 Go 资源,如[Go by example]、[go.dev/play]、[https://pkg.go.dev]、[staticcheck]、[golangci-lint]等。
重要细节:
- 具体代码示例展示各种错误及正确做法,如结构体赋值示例、查找切片元素并修改示例等。
- 解释对赋值理解错误的原因,如受其他语言影响等。
- 提到“100 Common Mistakes”系列书籍及类似结构的其他书籍。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。