Go教程技术文章
-
通过 CEL PartialVars 与 OptPartialEval 描述尚未提供的输入,用完整 Go 示例比较未知、false 和 true,说明属性模式、结果分类和补齐输入后的重新求值。112 收藏 -
Go database/sql 在 Scan 时对 *[]byte 会保存一份调用方拥有的副本,而 *sql.RawBytes 可以避免这次复制,但数据只在下一次 Next、Scan 或 Close 前有效。本文按查询负载说明使用边界、显式复制方式和错误处理。112 收藏 -
Go archive/zip.File.OpenRaw 返回 ZIP 条目中未解压的原始数据。本文区分 Open 与 OpenRaw,说明如何根据压缩方法读取原始字节,并介绍原样复制条目时使用 Writer.Copy 的边界。112 收藏 -
Go Info.InitOrder 可在类型检查后列出包级变量初始化器。本文给出读取 Lhs、Rhs 和源码位置的示例,解释依赖排序、多返回值以及零值变量和 init 函数的范围。112 收藏 -
介绍GJSON读取点号键名的路径转义写法,区分Go字符串与GJSON语法,并用完整示例说明动态组件转义、字段白名单和缺失结果处理。111 收藏 -
Go 可以用带容量的 channel 保存令牌限制同时执行的任务数,并通过 context 取消等待、defer 归还令牌,避免并发失控或槽位泄漏。111 收藏 -
Go math/rand/v2 ChaCha8 同时提供 Read 和 Uint64,但两者交错调用时返回位顺序未定义。本文说明可复现测试、拆分随机源和状态快照的稳定写法。111 收藏 -
Go atomic.Uint32.And 用按位与原子清除指定标志,并返回更新前的完整位图。本文说明 ^mask 的正确写法、组合状态处理和并发边界。111 收藏 -
Go net.IP.Mask 会把 IP 地址与 IPMask 按字节做按位与,把主机位清零得到网段地址。本文从 IPv4、IPv6 的掩码构造讲到 ParseCIDR、nil 结果和 IPv4 映射地址边界,帮助你稳定生成网段键。111 收藏 -
用 go/types 对完成类型检查的 Package 取出 Scope,按稳定顺序列出包级对象,再用 Object.Exported 和 Lookup 过滤并读取导出 API 的类型信息。111 收藏 -
Go 的 go/constant.MakeImag 会把 Int、Float 或 Unknown 作为虚部系数,返回 x*i 的 Complex Value。本文用 BinaryOp 组合实部和虚部,说明精确常量、Unknown、非法输入以及 Float64Val 转换时的边界。111 收藏 -
Go FlagSet 可以为每个子命令建立独立参数集合。本文用标准库示例说明如何切分 os.Args、分别调用 Parse、处理错误与位置参数,并总结公共参数的组织边界。110 收藏 -
用 Go crypto/rand.Read 为令牌填充固定长度的安全随机字节,解释 32 字节预算、十六进制与 Base64 编码长度、错误边界和上线前应观察的生成指标。110 收藏 -
Go cmp.Or 可以按参数顺序返回第一个非零值,适合组织请求配置、环境变量和代码默认值的回退链,也能串起多字段排序比较。本文说明零值、comparable 约束与参数求值边界。110 收藏 -
介绍 Go os.Root.Name 获取目录名称的用法,给出打开、读取和关闭示例,说明名称在诊断日志中的用途,以及它与绝对路径、实时位置和资源状态的区别。110 收藏