
go
应使用sync.WaitGroup显式等待goroutine完成:启动前wg.Add(1),结束时wg.Done(),主协程调用wg.Wait();channel由发送方在所有发送完成后关闭;避免ti...
pprof是性能优化的必选项,必须先用gotoolpprof定位CPU、内存、goroutine瓶颈,再针对性优化;盲目改代码90%是浪费时间。
Go几乎不支持隐式类型转换,仅允许无类型常量赋值、接口实现赋值和方法调用隐式解引用三种特例;数值类型间运算必须显式转换,如int16(a)+b,字符串与数字、不同切片类型间均不支持隐式转换。
Go无法直接嵌入.NET进程,因其依赖独立运行时;但可通过导出C兼容接口(cgo+buildmode=c-shared)生成动态库,再由.NETP/Invoke调用,或采用进程间通信(如gRPC、HT...
ns/op更关键但需结合B/op判断:计算密集型以ns/op为首要指标,内存分配密集型则B/op更能暴露GC隐患;B/op高常因循环中反复make或字符串拼接,应预分配或用strings.Builde...
本地启动多个微服务时端口冲突应避免硬编码,改用环境变量(如PORT)或自动探测可用端口(开发环境);服务间调用需统一网络地址(如host.docker.internal或127.0.0.1)并设置合理...
Go中r.Body必须读完,否则HTTP/1.1连接复用可能失败;应显式读取(如io.Copy(io.Discard,r.Body)),JSON/XML解码可直接用json.NewDecoder(r....
多数主流CI平台预装Go但版本滞后,需显式指定版本(如1.22.5)并配置GOPROXY、GOSUMDB、CGO_ENABLED等环境变量以确保构建稳定复现。
Go标准库不支持WebSocket,需用gorilla/websocket;服务端用Upgrader升级连接后读写消息,客户端需手动拨号并处理重连与超时。
new返回*T类型的零值指针,仅分配并清零内存,不初始化逻辑或创建可直接使用的slice/map/channel;make才用于构造可立即使用的引用类型。