Go教程技术文章
-
用 Go embed.FS 把模板目录编译进二进制,再通过 html/template 的 ParseFS 读取渲染,适合希望单文件交付的 Go 服务。122 收藏 -
Go bytes.Count 用一个整数返回字节子切片的不重叠出现次数。本文说明最小写法、重叠匹配、空分隔片的 UTF-8 码点语义,以及如何区分返回 0 与参数错误。122 收藏 -
Go 的 golang.org/x/text/unicode/bidi 用 Paragraph 表示一段双向文本:先用 SetString 配置段落,再用 Direction 读取整体方向、用 Order 遍历视觉顺序中的 Run。本文说明混合方向文本的读取边界、原文位置和 Ordering 生命周期。122 收藏 -
Go x/text/width 的 LookupRune 接收一个 rune 并返回 Properties。本文用一个字符检查器演示如何读取 Kind、Wide、Narrow 与 Folded,并说明它与终端显示列宽的区别。122 收藏 -
使用 Go transform.NewReader 配合 GBK Decoder 将旧编码文本转换为 UTF-8。本文澄清包路径,给出有界读取示例,并说明编码来源、解码错误、输入输出上限与业务内容边界。122 收藏 -
用 parquet-go 写 Parquet 时,先让 Go 结构体定义行 schema,再按数据量选择 WriteFile 或 GenericWriter。本文给出结构体切片写文件、分批写入 io.Writer、标签配置和失败处理的选择边界。121 收藏 -
用 Go x/text/number 的 Decimal 配合 MinFractionDigits 控制最少小数位,并比较 MaxFractionDigits、Scale 与 Precision 的适用边界。121 收藏 -
Go search.IgnoreDiacritics 可按语言规则匹配带重音文本。本文给出 IndexString 写法,说明忽略选项、未命中分支、原文区间高亮及编译 Pattern 的使用边界。121 收藏 -
使用 Go groot 创建新的 ROOT 文件,通过 File.Put 按名称保存 ROOT 对象,并在关闭后重新打开读取,掌握写入句柄、对象键和文件收尾的关系。121 收藏 -
io.CopyN 的关键不是只看返回错误,而是同时判断 written 和 err。本文区分源数据提前结束的 EOF、固定长度读取中的 ErrUnexpectedEOF,以及目标 Writer 的短写和其它错误,给出可直接放进 Go 工程的判断方式。121 收藏 -
Go archive/zip 遍历 ZIP 时,文件名应读取 FileHeader.Name,目录条目通常以斜杠结尾。本文用 OpenReader 和 Reader.File 区分文件、目录与路径边界,并说明 Open、Close 和 ErrInsecurePath 的处理方式。120 收藏 -
Go atomic.Pointer 发布配置快照时,要先独立构建、再原子替换,并保持内部 map 不可变。本文用路由配置说明输入复制、单次 Load、失败保留旧配置与多发布者限制。120 收藏 -
解释 maps.Clone 不能直接读取文件,结合 Go 1.24 的 os.OpenRoot 与 Root.Open 在受限根目录内读取相对路径,再按需生成 map 快照并处理字节切片的浅克隆问题。120 收藏 -
Go maps.DeleteFunc 按回调条件原地删除键值。本文通过过期条目清理示例,说明固定判断时间、遍历期间增删的影响、回调副作用、共享map的同步边界,以及nil map和无返回值的处理。120 收藏 -
解释 Go cookiejar 在没有 PublicSuffixList 时为何可能跨注册域共享 Cookie,并给出使用 publicsuffix.List 配置和回归测试的方法。119 收藏