golang
已收录文章:162篇
-
从业务抽奖、灰度分流和可复现测试出发,讲清 math/rand/v2 的 IntN、PCG、ChaCha8、Seed、Shuffle、并发边界和 crypto/rand 安全边界。311 收藏
-
最简路径是直接用msgpack.Marshal和Unmarshal,但需注意三类高频问题:不加msgpack标签、传错指针、混入非msgpack数据;struct字段必须加msgpack:"key"标签,且为导出字段,Unmarshal必须传变量地址(如&v),否则静默失败。307 收藏
-
必须用SetPrefix设置前缀,不能拼接字符串;它仅作用于默认logger开头固定部分,需首次写入前调用,且不自动加空格。306 收藏
-
把一次请求拆成入口、并发扇出、下游调用、取消和收尾几个阶段,建立并发治理的全局视角。301 收藏
-
base64.StdEncoding.EncodeToString只接受[]byte,不接受string或nil切片;传"hello"会编译失败,必须写[]byte("hello");解码前需strings.TrimSpace清洗并匹配编码器,URL场景须用URLEncoding。293 收藏
-
Go错误码设计必须用具名类型(如ErrorCodeint)和结构体(如*BizError)实现,禁止直接用int;需分模块编号、查表映射HTTP状态码,并通过errors.As提取,确保类型安全与语义清晰。293 收藏