Go语言技术文章
-
使用 bytes.Buffer 时,Grow(n) 不是越大越好。本文按固定大小、近似大小和未知大小三种输入场景,说明如何估算 n,区分 len 与 cap,并给出避免频繁扩容和过度预分配的实用流程。372 收藏 -
bits.Mul64 的完整乘积等于 hi×2^64+lo,需要两个 uint64 或16字节保存。用固定大端编码和解码示例解释高低字布局,并用 hi!=0 判断结果能否装入 uint64。372 收藏 -
Go 的 image.Decode 读取 GIF 时只返回第一帧,这是通用图片接口的明确语义。本文说明 image.Decode 与 gif.DecodeAll 的选择、GIF.Image/Delay/LoopCount 的对应关系,以及处理不可信 GIF 时如何先检查尺寸再从头解码。372 收藏 -
Golang · Go教程 | 1天前 | 泛型 · Go教程 · 类型系统 · Go go/types 泛型约束 types.NewTypeParam types.TypeParam SetConstraint
使用 go/types.NewTypeParam 创建类型参数时,可以先传入 nil,再在约束接口完全定义后调用 SetConstraint。本文按初始化顺序说明 NewTypeName、NewInterfaceType、Complete、Constraint、Underlying 与 Named.SetTypeParams 的关系。372 收藏 -
Go unicode.IsControl 面向 rune 判断 Unicode 控制字符。本文用 strings.Map 写出保留换行、回车和制表符的过滤函数,并说明零宽字符与非法 UTF-8 不在该函数范围内。372 收藏 -
Go 使用 strconv.Atoi 把字符串转成 int 时,空串和非法字符属于 ErrSyntax,超出目标 int 范围属于 ErrRange。本文用 errors.Is 与 errors.As 拆分这两类失败,并说明 NumError 的字段、平台位宽和错误返回值边界。372 收藏 -
Go netip 中的普通 IPv4 和 IPv4-mapped IPv6 虽然指向同一 IPv4 数值,Addr 表示仍不同,因此直接比较或作为 map 键可能不相等。本文用 Is4In6、BitLen 和 Unmap 定位原因,并给出规范化键的边界。371 收藏 -
Go log/slog 的 Attr.Equal 可以按键和值判断两个结构化字段是否一致。本文用测试和 Handler 场景说明普通值、分组值、动态 LogValuer 与零值属性的比较边界。371 收藏 -
Go 的 time.Date 遇到夏令时重复或缺失的当地钟点时,不保证选择哪一侧时区。本文区分墙上时间与绝对时刻,说明如何显式保留偏移、制定消歧策略,并避免把规范化结果误当成用户意图。371 收藏 -
Golang · Go教程 | 3星期前 | 错误处理 · 模板 · Go教程 · html/template · 模板渲染 Go html/template missingkey 模板缺失字段 Execute错误
Go html/template 默认可能把 map 缺失键继续渲染,开发阶段容易把数据问题藏到页面里。本文比较 missingkey=default、zero、error 的差异,给出严格配置位置、Execute 错误处理和环境选择方法。371 收藏 -
Go 的 time.Time JSON 默认使用 RFC3339 字符串并保留偏移量,但不会保留 IANA Location 名称。本文拆开瞬时点、显示时区和接口协议,说明 UTC、ParseInLocation 以及显式时区字段的选择。371 收藏 -
用 Go http.Client、Transport 和 context 拆分连接、TLS、响应头与整体请求超时,配合错误定位和连接池清单完成可维护配置。371 收藏 -
Go crypto/x509 CertPool.AddCertWithConstraint 可以把自定义约束绑定到某个根证书。本文用租户域名场景说明如何读取 Verify 传入的整条证书链、拒绝不符合范围的链,并处理回调并发与验证边界。371 收藏 -
本文说明 Go http.Request.BasicAuth 的三个返回值,演示如何区分认证头解析成功与账号校验通过,并整理 401、HTTPS、WWW-Authenticate 和日志脱敏边界。371 收藏 -
Go netip.Prefix.IsValid 同时判断地址是否已初始化、前缀位数是否符合 IPv4 或 IPv6 范围。本文用一个小工具区分零 Prefix、0.0.0.0/0、非法位数和有效但未掩码的前缀。371 收藏