Go教程技术文章
-
Go bytes.FieldsFuncSeq 接收自定义 rune 判断函数,返回按规则切出的非空字节子切片迭代器。本文说明自定义分隔规则、与 FieldsFunc 的关系、提前停止消费以及输入切片别名边界。350 收藏 -
Go filepath.FromSlash 适合把配置、归档或协议中的斜杠路径转换为目标操作系统的文件路径。本文说明输入边界、与 ToSlash 和 io/fs 的分工,以及不能替代的清理和安全检查。350 收藏 -
Go 1.24 新增的 time.Time.AppendText 会把时间按带子秒精度的 RFC3339 格式追加到已有字节切片。本文说明返回值、错误处理、时区边界和旧版本替代方式。349 收藏 -
Go CSV读取启用ReuseRecord时,返回切片可能共享底层数组。结合同步消费、缓存快照和异步交接,说明低分配读取的适用方式、错误处理与内存保留取舍。349 收藏 -
用 strconv.IsPrint 按 rune 判断字符是否适合进入可读日志,说明空格、控制字符、UTF-8 合法性与日志脱敏之间的边界,并给出检查和过滤代码。349 收藏 -
介绍 Go unicode/utf8.AppendRune 的函数契约、已有 []byte 缓冲区追加方式、返回切片要求和非法 Rune 替换为 utf8.RuneError 的处理边界。347 收藏 -
Go path.Dir 适合处理 URL、对象存储键等正斜杠分隔路径。本文说明普通路径、末尾斜杠、根路径和空路径的返回边界,并区分 path.Dir 与 filepath.Dir 的生产使用场景。344 收藏 -
Go net.IP.IsPrivate 可以按 RFC 1918 和 RFC 4193 判断 IPv4、IPv6 私有地址,但它不是安全属性。本文用 net.ParseIP、对照表和边界说明讲清输入、返回值与使用位置。343 收藏 -
用 Go encoding/base64.WithPadding 为协议设置自定义填充字符,区分标准填充、NoPadding 与非法参数,并说明编解码双方如何保持同一约定。343 收藏 -
Go 1.27 新增 crypto/mldsa,可用 MLDSA44、MLDSA65 或 MLDSA87 生成 ML-DSA 私钥。本文给出密钥生成、公钥导出、seed 恢复以及带 context 的签名验证写法,并说明参数尺寸和 FIPS 140-3 边界。342 收藏 -
Go text/template 的 break 只能结束最内层 range。本文用一个紧凑示例说明如何在命中条件后停止模板输出,并区分 break、continue、else 与嵌套 range 的控制边界。342 收藏 -
Go jsontext.Decoder 可以把 JSON 当作 token 流读取,不必先反序列化成 Go 对象。本文从语法层和对象层的区别讲起,演示 ReadToken、PeekKind、ReadValue、输入偏移量和嵌套边界的使用,说明流式筛选时如何控制读取粒度与错误处理。342 收藏 -
Go 生成登录链接、一次性令牌或接口随机值时,应让 crypto/rand.Reader 填充固定长度的字节缓冲,再按传输场景编码。本文解释字节长度、Read 错误、RawURLEncoding 和边界处理。341 收藏 -
介绍 Go 1.27 自定义连接的 TLS ALPN 状态接口,以连接包装器和完整握手示例说明真实状态转发、HTTP 协议配置及客户端与服务端的适用边界。339 收藏 -
Go text/template 的 block 是“默认内容加可覆盖命名模板”的简写。本文用基础布局与子页面示例说明怎样解析同名定义覆盖默认块,并比较 block、define 与 ExecuteTemplate 的适用边界。338 收藏