Go教程技术文章
-
Go 的 atomic.Int64 可以用零值记录可正可负的并发偏移量。本文从 Add、Load、Store、Swap 和 CompareAndSwap 的调用方语义出发,说明如何做增减、重置、条件更新,以及首次使用后不可复制和只保护单个整数等边界。336 收藏 -
Go 1.27 为 go tool compile 增加 response file 支持。本文用一个具体编译场景说明如何用 @file 传递参数、处理引号与路径,并划清它和 go build 的边界。336 收藏 -
围绕 os.UserCacheDir 讲清 Unix、macOS、Windows 和 Plan 9 的用户缓存根目录规则,以及 XDG_CACHE_HOME 错误边界、应用子目录创建和缓存读写处理。336 收藏 -
本文用 Go debug/elf 读取 ELF 节区的 SectionHeader.Flags,通过 SHF_EXECINSTR 判断节区是否包含指令,并区分缺失节区、非 ELF 输入和其它标志组合。336 收藏 -
用 Koanf 先加载文件配置,再用带前缀的环境变量覆盖指定键。本文说明 env/v2 的键名转换、加载顺序、类型覆盖、结构体解码和严格合并边界。335 收藏 -
Go cgo 不会替 C 堆自动回收内存。本文从 C.CString、C.CBytes 和 C 侧返回指针入手,建立分配与释放成对出现的责任边界,并说明 Go 指针不能被 C 长期持有的规则。335 收藏 -
当字段集合只有在运行时才能确定时,可以用 reflect.StructOf 根据 StructField 描述构造匿名结构体,再通过 reflect.New 创建可写实例并交给 JSON 编解码。本文按排障手册拆解字段、Value 和边界。335 收藏 -
说明 Go comment.Heading.DefaultID 的锚点转换规则,解释中文和重复标题的碰撞,并用页面级映射统一目录链接与正文标题ID。335 收藏 -
Go HTTP 请求遇到需要保留正文的重定向时,关键是区分 Body、GetBody 和 ContentLength。本文说明 NewRequest 对常见 reader 的处理,并给出自定义请求体的安全重放写法。334 收藏 -
用一个小型键值配置格式说明 Go Participle 的结构体标签、递归字段、重复项和错误边界,帮助调用方把有限语法稳定映射成 Go 结构体。334 收藏 -
maps.Clone 复制的是 map 的一层键值,不是递归深复制。本文用嵌套配置示例说明 slice、map、指针字段的共享边界,并给出按场景选择复制方案的方法。334 收藏 -
netip.ParsePrefix 用来把 IPv4 或 IPv6 的 CIDR 文本解析为 Prefix。本文说明如何处理返回错误、为什么 ParsePrefix 不会自动清零主机位,以及何时使用 Masked、MustParsePrefix 和 PrefixFrom。334 收藏 -
Go xml.Decoder.Strict 默认严格解析 XML。本文说明关闭 Strict 后能兼容哪些常见错误,如何配合 AutoClose 和 Entity 使用,以及为什么字符集、结构和业务字段错误仍要单独处理。334 收藏 -
使用 go-ldap 的 ControlPaging 分批读取大型 LDAP 目录,掌握 cookie 续页、连接保持、错误处理和 pageSize 参数边界。334 收藏 -
Go iter.Pull 把推送式迭代器转换为 next 与 stop 接口,便于按需处理并避免整批中间切片。示例说明提前退出、清理归属与分配收益的适用条件。334 收藏