Go语言技术文章
-
Golang · Go教程 | 19小时前 | Go教程 · database/sql · database/sql Go数据库 sql.Stmt PrepareContext Conn.PrepareContext
用 Go database/sql 对比 DB.PrepareContext 与 Conn.PrepareContext,说明 sql.Stmt 如何复用预编译语句、何时绑定单条连接,以及 Stmt、Conn 和 Context 的生产生命周期写法。123 收藏 -
Go PGO 可以用 go tool pprof -proto 合并多个 CPU profile,但合并本质是样本相加。本文说明如何统一采样窗口、处理不同工作负载的权重,并把 merged.pprof 接入 default.pgo 或 go build -pgo。122 收藏 -
Go test -cover 的高百分比不等于边界已覆盖。本文用一个输入校验例子,说明如何拆分分支矩阵、补齐错误路径,并用 coverprofile 找到真正漏测的位置。122 收藏 -
Go 使用 os.OpenRoot 建立可信目录句柄后,可通过 Root 方法按相对名称访问文件。本文给出有限文本预览示例,说明路径拼接、符号链接、平台例外、业务授权及句柄关闭各自的边界。122 收藏 -
Go strings.Replacer 适合把多组固定文本替换规则集中管理。本文说明 NewReplacer 的成对参数、重叠键的顺序、Replace 与 WriteString 的选择,以及规则复用时的边界。122 收藏 -
用 Go embed.FS 把模板目录编译进二进制,再通过 html/template 的 ParseFS 读取渲染,适合希望单文件交付的 Go 服务。122 收藏 -
Go binary 的整数解码应遵循协议字节序,而不是本机端序。通过固定字节与八字节头部示例说明字段宽度、偏移和完整读取,区分短读与端序错误,并解释编码回环为何不等于协议互通。122 收藏 -
Go bytes.Count 用一个整数返回字节子切片的不重叠出现次数。本文说明最小写法、重叠匹配、空分隔片的 UTF-8 码点语义,以及如何区分返回 0 与参数错误。122 收藏 -
Go html/template 解析多个文件或 define 命名模板后,可以用 Templates 遍历关联模板并读取 Name,再用 Lookup 检查某个名称是否存在。本文给出最小示例,并说明 ParseFiles 根名称、命名模板和 ExecuteTemplate 参数不一致时的排查顺序。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 收藏 -
Go Request.GetBody 为 nil 时,先区分重定向重放和应用层重试,再用可重复创建 Body 的请求工厂保证每次上传读取同一份数据。122 收藏 -
Go slog Handler的方法允许并发调用。本文以日志封装迁移为例,说明派生对象、共享写入器、原子错误计数与业务字段的边界,给出委托JSONHandler的完整示例和回归场景。122 收藏 -
Go工具链升级后出现编译、测试或运行行为变化时,固定源码和依赖,用新旧工具链建立对照,区分模块声明、兼容默认值与环境差异,并保存可复现的定位记录。122 收藏