Go教程技术文章
-
Go bytes.Repeat 会返回由多个 b 拼成的新字节切片,但负数次数或结果长度溢出会触发 panic。本文从固定填充和测试数据场景出发,说明零次数、空输入、参数保护、结果规模和改用流式写入的边界。454 收藏 -
Go 用 slices.IndexFunc 按条件查找切片时,会返回第一个满足判断的元素索引;如果没有匹配项则返回 -1。本文说明空切片、重复匹配、结构体字段判断、Index 对比和旧工具链降级写法。453 收藏 -
Go compress/flate 的输入相同并不保证压缩字节相同。本文解释压缩级别、字典、Flush、写入边界和 Go 版本如何影响编码,并给出需要字节级稳定时的固定条件。452 收藏 -
用 go list -m -json 导出 Go 模块的路径、版本、目录、go.mod、替换关系和更新信息,说明连续 JSON 解析及主模块、构建列表、版本查询的边界。451 收藏 -
Go x/text/currency 的 ParseISO 用于解析三字母 ISO 4217 货币代码。本文说明如何处理格式或未知代码错误,并区分 Unit、Amount、Formatter 与 MustParseISO 的职责边界。450 收藏 -
介绍 Go x/text/encoding/unicode 中 UTF16 的字节序与 BOMPolicy 配置,说明 IgnoreBOM、UseBOM、ExpectBOM 和 BOMOverride 在读写 UTF-16 时的区别与选择方法。449 收藏 -
Go typeutil.Map 适合把 go/types 产出的 types.Type 作为键,并按类型等价关系保存任意值。本文从类型检查结果取出类型对象,演示 Set、At、Iterate 的用法,说明普通 map、字符串键、并发读写和 Hasher 的边界。449 收藏 -
用 Go 1.25 的 os.Root.RemoveAll 在固定根目录内递归清理子目录,掌握路径校验、错误分层、Root 关闭和版本平台边界。449 收藏 -
Go 1.23 起可以直接用 os.CopyFS 把 fs.FS 的目录树复制到磁盘。本文从 os.DirFS 和 fs.Sub 的根路径开始,给出嵌入文件与本地目录示例,并排查已存在文件、路径和权限错误。444 收藏 -
在 Go 中用 crypto/rand.Read 生成固定长度的加密安全随机字节,说明切片长度、十六进制与 Base64 编码、错误边界,以及它和 math/rand 的使用区别。443 收藏 -
Go 判断链路本地 IP 时,可以先用 netip.ParseAddr 解析文本,再调用 Addr.IsLinkLocalUnicast。本文用 IPv4、IPv6 和带 zone 的 IPv6 示例说明返回值,并区分私有、回环、组播和无效地址。443 收藏 -
Go regexp.Expand 使用匹配索引从原文取出捕获组,并按模板追加到字节切片。本文通过资源标签示例说明变量边界、返回值、缺失组和批量展开的注意事项。443 收藏 -
说明 Go archive/zip.FileHeader.SetModTime 的使用方式、UTC 转换、MS-DOS 时间精度和 Modified 字段迁移边界。443 收藏 -
Go http.Request.Write 会把 Request 的请求行、请求头和请求体写成 HTTP/1.1 报文。本文用缓冲区示例说明 URL、Host、Content-Length、分块传输、Body 关闭,以及普通写出和代理写出的区别。442 收藏 -
Go 标准库 net/netip 可以先用 ParsePrefix 解析 CIDR,再调用 Prefix.Contains 判断 IP 是否属于指定网段。本文给出 IPv4、IPv6、地址族不匹配、IPv6 zone 和前缀规范化的实用边界。442 收藏