Go语言技术文章
-
Go maps.Copy 会把来源 map 的键值写入目标 map,同名键由来源覆盖。本文围绕默认配置、文件配置和环境覆盖说明调用顺序、nil 目标与嵌套 map 的浅层边界。162 收藏 -
Go bytes.FieldsSeq 在 Go 1.24 起返回 iter.Seq[[]byte],按 unicode.IsSpace 规则遍历字段,不先创建承载全部结果的二维切片;本文从旧接口迁移、空白边界、切片生命周期和提前停止四个方面给出可直接使用的写法。380 收藏 -
Go filepath.Rel 用基准路径和目标路径计算操作系统相关的相对路径。本文说明参数顺序、子目录与返回上级、相对输入和不同路径卷的错误边界,并给出可复用的封装。325 收藏 -
Go big.Rat 从字符串解析并保留精确计算值,用 RatString 无损保存、SetString 恢复;本文给出完整示例,说明格式限制、显示舍入与对象副本边界。105 收藏 -
Go 的 math.Frexp 可以把 float64 拆成归一化尾数和二进制指数,math.Ldexp 再将两者重建为浮点数。本文给出最小写法、配对关系和特殊值边界。316 收藏 -
Go 的 uint64 乘法会静默保留低 64 位。本文用 math/bits.Mul64 拆出 128 位乘积,通过 hi != 0 判断溢出,并封装可复用的安全乘法函数。308 收藏 -
Go 的 time.FixedZone 适合固定 UTC 偏移,time.LoadLocation 适合带 IANA 规则的地区时区。本文用创建、转换和格式化示例说明两者边界。227 收藏 -
Go time.AfterFunc 返回的 Timer 可以用 Stop 取消尚未启动的回调。本文按 Stop 的 true、false 两种结果说明取消窗口与竞态边界,并给出需要等待回调结束时的显式同步写法。264 收藏 -
Go Timer 配合 Stop 要区分新旧通道语义。本文说明陈旧事件、排空前提与单一消费者写法,给出完整示例和迁移清单,避免把 false 误当成通道有值。237 收藏 -
Go netip.Addr.UnmarshalText 可以把配置中的 IPv4、IPv6 文本解析成结构化地址。本文说明空文本、非法输入、IsValid 校验、IPv6 区域标识以及配置结构体接入方式。284 收藏 -
Go HTTP Server 默认开启 Keep-Alive。本文用 SetKeepAlivesEnabled(false) 关闭服务端连接复用,并解释 HTTP/1 空闲连接、HTTP/2 边界、优雅停机与客户端 Transport 配置的区别。323 收藏 -
围绕 Go net/url 的 Userinfo 展开,说明如何用 User 与 UserPassword 构造包含 @、冒号、斜杠、空格和中文的用户信息,并用 String 生成完整 URL、Parse 后取回字段,同时区分路径和查询参数的转义边界。113 收藏 -
从 200、206 和 416 的响应症状出发,解释 Go net/http ServeContent 如何依赖 io.ReadSeeker 处理 Range 请求、获取内容长度和定位读取位置,并给出文件、自定义 Reader 与并发排障示例。118 收藏 -
Go netip.ParseAddrPort 可以把带数字端口的 IPv4 或 IPv6 文本解析为 AddrPort,再通过 Addr 和 Port 读取结构化结果。本文说明方括号、非法输入、主机名和 SplitHostPort 的边界。208 收藏 -
Golang · Go教程 | 2天前 | 标准库 · HTTP · go · Cookie · net/http raw Set-Cookie Go Cookie ParseSetCookie RawExpires
Go 的 net/http.Cookie 同时提供 Raw、RawExpires、结构化属性和 Unparsed。本文围绕 Set-Cookie 解析差异,说明怎样保存原始属性字符串、怎样用字段级指标回归,以及为什么 Cookie.String 不能替代原文透传。226 收藏