Go教程技术文章
-
Go os.Root.Chown 只负责在 Root 范围内调用系统的属主修改能力,返回权限错误通常与当前进程的 uid/gid 权限、平台支持、文件系统策略或符号链接语义有关。本文给出最小调用、错误分类和 Chown/Lchown 的选择方式。240 收藏 -
以资源清单页说明embed.FS如何作为ParseFS模板来源,区分嵌入路径、解析范围与define模板名,并处理片段未定义、工作目录和重新构建问题。419 收藏 -
Go image/draw 的偏移绘制关键在目标矩形 r.Min 与源点 sp 的对齐。本文用最小示例说明 image.Rect、源图像边界、越界裁剪以及 draw.Src 和 draw.Over 的选择。101 收藏 -
Go html/template 的 missingkey 只控制 map 缺失键在执行阶段的行为。本文用一个可复用示例说明 default、zero、error 的差别,并区分结构体字段错误、Execute 返回值和生产场景的选择。384 收藏 -
Go regexp.Regexp.MatchReader 接收 io.RuneReader,可以在不先拼接完整字符串的情况下判断流式文本是否包含匹配。本文用 bufio.Reader 说明输入适配、编译错误、布尔结果和 Reader 消费边界。316 收藏 -
Go 的 unicode/utf8.RuneStart 用来判断一个字节是否可能是 UTF-8 符文的首字节。本文从 ASCII、中文多字节编码和 10xxxxxx 后续字节切入,说明它的判断边界,以及为什么还要配合 DecodeRune 或 Valid。279 收藏 -
Go time.Time.AppendBinary 可以把时间追加到已有 []byte,并返回可交给 UnmarshalBinary 的二进制表示。本文说明追加缓冲区、时区偏移、错误处理和版本边界。439 收藏 -
Go sync.OnceFunc 把一次性初始化动作封装成可并发调用的闭包。本文从初始化入口、共享状态、重复调用和 panic 边界拆解它的使用方式,并说明何时应改用 OnceValue。166 收藏 -
Go sync.OnceValue 把一次延迟计算封装成可并发调用的函数,后续调用共享同一结果。本文说明它的基本写法、错误与 panic 边界,以及为什么刷新数据必须重建闭包。496 收藏 -
通过ParseAddr与IsUnspecified区分0.0.0.0、::和零值Addr,给出解析错误处理、状态对照表与配置记录模型,避免将无效值误判为普通有效IP。242 收藏 -
Go strconv.AppendQuote 会把字符串字面量直接追加到 []byte 缓冲区。本文说明如何复用 dst、处理转义膨胀,并判断容量不足时仍可能发生的扩容。187 收藏 -
Go math/bits.RotateLeft64 用固定 64 位宽执行循环左移,负移位量表示向右旋转,超过 64 的移位量按整圈归一化。本文对比普通左移丢弃高位的差异,并给出固定边界用例。285 收藏 -
Go unicode/utf8.FullRune 用来判断字节切片开头是否已经收齐一个 UTF-8 编码。本文用分块读取场景说明它与 DecodeRune、Valid 的边界、尾部残片和错误字节处理方式。155 收藏 -
Go 判断链路本地 IP 时,可以先用 netip.ParseAddr 解析文本,再调用 Addr.IsLinkLocalUnicast。本文用 IPv4、IPv6 和带 zone 的 IPv6 示例说明返回值,并区分私有、回环、组播和无效地址。443 收藏 -
Go mime/multipart 的 NextRawPart 用于按顺序读取 multipart 的原始 part。本文从 boundary 解析、EOF 判断、流式保存和 quoted-printable 边界说明调用方式,并区分它与 NextPart 的行为。178 收藏