Go 变量声明要求类型在变量名后,如var port int = 8080;短变量声明:= 仅限函数内使用且需 […]
slice 是引用类型,其修改是否影响其他 slice 取决于是否共享底层数组,由 cap 和操作方式决定;a […]
nil 指针解引用(如 *p、p.Field)会 panic;仅指针、切片、映射、通道、函数、接口可为 nil […]
Go 命令行工具用 flag 包即可高效开发,但需注意:必须调用 flag.Parse()才能生效;子命令宜用 […]
用 os.Stat 检查文件是否存在是最稳妥的方式,需用 os.IsNotExist(err) 判断错误类型, […]
goroutine 并非万能加速器,盲目滥用会因调度开销、文件描述符耗尽等拖慢接口;真正提速需满足可并行、无强 […]
在 go 中使用 `database/sql` 包执行查询时,手动调用 `rows.close()` 容易遗漏 […]
不用自增 ID 做短码因会暴露业务数据、难以并发预知 ID,需解耦;推荐随机 + 重试或雪花 ID 派生,Go […]
应统一错误响应结构为含 code、message、request_id 的 APIError,禁用 http. […]
struct 值传递会引发大对象拷贝,因 Go 中所有参数均为值传递,传参时完整复制所有字段;含大数组、嵌套结 […]