-
Go testing.T.FailNow 只能由运行测试函数的 goroutine 调用。本文解释 FailNow、Fail 和 Fatal 的停止语义,说明子 goroutine 误用为何导致误通过或清理失控,并给出错误回传、取消和等待 worker 的安全组织方式。
-
Go netip.Prefix.String 返回 CIDR 文本,但 PrefixFrom 可能保留主机位。本文说明 String、Masked、IsValid 与 MarshalText 的边界和实用写法。
-
Go 使用 golang.org/x/text/currency 的 Kind.Rounding 查询货币显示规则,理解 scale 与 increment 两个返回值,并据此区分标准、现金和会计场景的调用策略。
-
Go 1.27 的 bytes.CutLast 可以把按最后分隔符拆分的返回值直接表达为 before、after 和 found,省掉 LastIndex 后的偏移计算,同时保留未找到分隔符和原始切片共享这两个边界。
-
Go 解析 Set-Cookie 后,完整输入行会保存在 http.Cookie.Raw;本文说明怎样从 Response.Cookies 或响应头逐条读取它,并区分 Raw、Unparsed、RawExpires 与 String() 的重建结果。
-
Go 标准库 uuid.NewV4 可以生成版本 4 UUID,再按下游类型选择 String、MarshalText 或 AppendText 转成文本。本文用一个最小请求 ID 项目说明三种出口、错误边界和接入检查点。
-
Go hash/crc32 的 IEEE 与 Castagnoli 不是可以随意互换的参数。本文用 MakeTable、Checksum、New 和 Update 说明如何按协议兼容性选择多项式,并划清 CRC32 与加密摘要的边界。
-
Go url.URL.Port 只返回合法数字端口字符串。本文说明如何区分未设置端口与显式默认端口,并配合 URL.Hostname、net.SplitHostPort 正确处理域名、IPv4、IPv6 和业务默认端口。
-
Go packages.Load 可加载显式 Go 文件集合,也可用 file= 查询所属包。本文说明两者的范围差异,给出文件列表封装,并解释 Mode、路径处理和两层错误。
-
Go maps.Equal 根据键集合与对应值比较两个 map。本文用配置对照示例说明顺序、nil 与空 map、键缺失与零值的区别,并介绍切片值应使用 EqualFunc、接口动态值与 NaN 的注意事项。
-
Go maps.All 可以把 map 转成键值迭代器,直接用 range 读取每个键和值。本文说明它的使用方式、无序语义,以及与 maps.Insert、maps.Collect 的组合边界。
-
Go 的 http.Request.Trailer 不是普通请求头的即时副本。本文从读取时序出发,说明服务端为什么要等 Body 返回 EOF 后再取尾部字段,并给出声明字段、读取请求体和处理空值的实用写法。
-
Go runtime/metrics 通过 All 返回当前支持的指标描述。本文演示怎样按 Name、Description、Kind 和 Cumulative 筛选指标,并安全创建 Sample 读取,兼顾不同 Go 版本的支持集合差异。
-
Go 处理土耳其语大写时,不要把语言规则简化为 ASCII 替换。使用 x/text/cases 的 Upper(language.Turkish),即可按土耳其语处理点号 I 和无点 I;本文同时说明 String、Bytes、流式转换和 Caser 并发边界。
-
Go bytes.Reader 读取一部分内容后,可以用 Seek 回到开头、已保存的位置或相对偏移。本文用 io.SeekStart、io.SeekCurrent 和 io.SeekEnd 说明重复读取写法,并处理负位置、越过末尾和非法 whence。