Go教程技术文章
-
使用 slices.Delete 删除切片区间时,关键是接收返回值、理解原地搬移和尾部清零,并根据元素是否含指针处理底层引用与批量删除边界。171 收藏 -
Go 的 database/sql 连接池不是把连接数调得越大越好。本文用一段可落地的初始化代码说明 MaxOpenConns、MaxIdleConns、MaxConnMaxIdleTime、MaxConnMaxLifetime 与 DBStats 的关系,并给出等待指标和上下文超时的排查方法。171 收藏 -
Go 的 Example 函数如何放进 _test.go、如何用命名约定关联文档对象,以及 Output 和 Unordered output 注释何时会让示例参与测试。170 收藏 -
Go 1.27 的 encoding/json/v2 遇到同一字段既可能是 42 又可能是字符串 42 时,可用局部自定义类型兼容两种表示,并严格拒绝小数、空白和越界值。170 收藏 -
pkg.go.dev API 可以直接返回 Go 模块的最新带标签版本。本文用 module、versions 两个接口和 Go 客户端示例,说明如何读取 version、isLatest,如何区分指定版本、main/master 分支和版本列表。170 收藏 -
Golang · Go教程 | 1星期前 | go · 时区 · 时间处理 · 本地时间 time.LoadLocation 时区解析 Go time.ParseInLocation Asia/Shanghai
本文解释 Go 的 time.ParseInLocation 如何把不带时区的本地墙上时间按指定 Location 解析,比较 time.Parse 与 Time.In,并说明 IANA 时区加载、RFC3339、夏令时边界和 UTC 存储做法。170 收藏 -
Go 的 encoding/csv 默认会根据首条记录约束列数。面对供应商字段增减、尾列缺失的文件,可设置 FieldsPerRecord=-1 放开列数检查,再结合 record 长度、ErrFieldCount 和行号完成可追踪的容错处理。169 收藏 -
Go 文件写入后为什么还要区分 Sync 和 Close?本文从 Write、Sync、Close 的调用链出发,说明落盘确认、defer 顺序与错误返回值该怎么处理。168 收藏 -
用 Go fuzzing 为解析函数补齐边界输入:从 f.Add 种子、限定 fuzz 时长,到把失败语料固化为可重复的回归测试。168 收藏 -
Go 的 encoding/xml 遇到带嵌套标签的混合文本时,直接映射结构体容易忽略空白。本文用 Token、CharData、XMLName 和命名空间字段完成可控读取。168 收藏 -
Windows 下 filepath.Match 会把反斜杠当作路径分隔符,而不是转义符。本文用可运行示例说明本地路径、glob 规则和统一斜线路径该如何分工。168 收藏 -
用 sha256.New 配合 io.Copy 流式读取大文件,计算 SHA-256 摘要并处理字节数、读取错误与自定义缓冲区。168 收藏 -
Go module graph pruning 不是简单删除 go.mod 条目。本文从 go 1.17+ 的模块图规则出发,说明如何用 go mod graph、go mod why -m 和 go list -m all 定位仍被下载的依赖。168 收藏 -
Go flag.Visit 只遍历解析时被显式设置的参数,适合区分用户输入和默认值。本文说明 Visit 与 VisitAll 的差异、零值和布尔值边界、重复设置处理,以及子命令 FlagSet 的正确用法。168 收藏 -
使用 Go 标准库 build.Context.ImportDir 按目标平台和标签分析源码目录,统计纳入、忽略、测试及无效文件并比较环境差异。168 收藏