Go语言技术文章
-
用 pprof.Do 把标签限制在请求和任务的明确作用域内,理解 goroutine 继承、同名覆盖和线程池复用,避免并发剖面出现串标。111 收藏 -
Go strings.FieldsFunc 会把连续满足条件的字符视为一个分隔区间,并丢弃首尾分隔符。本文用混合分隔符和边界输入说明如何稳定切词、避免空字段误判。111 收藏 -
Go 的 SameSite 只负责把 Cookie 的跨站发送策略写入 Set-Cookie,真正是否携带还要看浏览器请求类型、Secure、Fetch credentials 与服务端 CORS。本文用场景表和代码说明 Strict、Lax、None 的边界。111 收藏 -
介绍GJSON读取点号键名的路径转义写法,区分Go字符串与GJSON语法,并用完整示例说明动态组件转义、字段白名单和缺失结果处理。111 收藏 -
Go 可以用带容量的 channel 保存令牌限制同时执行的任务数,并通过 context 取消等待、defer 归还令牌,避免并发失控或槽位泄漏。111 收藏 -
Go httptest 默认使用系统选择的回环端口;出现端口被占用时,重点检查是否通过 -httptest.serve 或自定义 Listener 固定了地址,以及测试结束是否调用 Close。111 收藏 -
Go math/rand/v2 ChaCha8 同时提供 Read 和 Uint64,但两者交错调用时返回位顺序未定义。本文说明可复现测试、拆分随机源和状态快照的稳定写法。111 收藏 -
Go JSON 出现重复字段时,map、struct 和嵌套对象可能得到不同结果。本文按 encoding/json v1 的处理顺序说明覆盖与合并,并补充 encoding/json/v2 的严格差异和排查清单。111 收藏 -
Go atomic.Uint32.And 用按位与原子清除指定标志,并返回更新前的完整位图。本文说明 ^mask 的正确写法、组合状态处理和并发边界。111 收藏 -
http.ParseCookie 返回 Cookie 列表,重复名称不会自动合并。用 map[string][]string 追加同名值,同时保留原列表顺序,并说明多条请求头、空值、解析错误及业务选择规则。111 收藏 -
time.Duration.String 会自动选择合适单位,但负值、纳秒尾数和日志截断常让排查结果失真。本文用可复现实例说明 String 与 Truncate 的边界。110 收藏 -
用 atomic.Value 保存不可变配置快照,让热更新线程整份替换配置,并发请求只读当前快照,避开半更新状态与类型不一致 panic。110 收藏 -
用 Go container/ring 实现固定容量的最近采样窗口,说明如何写入、覆盖最旧值,并按时间顺序导出有效数据。110 收藏 -
用 Go atomic.Uint64 实现并发计数,说明 Add、Load、Store 和 CompareAndSwap 的边界,并区分单个计数值与多字段一致快照。110 收藏 -
Go encoding/json 默认会忽略未知字段。本文用嵌套类型的 UnmarshalJSON 和独立 Decoder,只对指定对象开启 DisallowUnknownFields,兼顾接口兼容与请求校验。110 收藏