Go教程技术文章
-
Go slices.CompactFunc 接收自定义相等函数,把连续且满足业务规则的重复项压缩为一项。本文从 Go 1.21 的迁移范围出发,说明比较规则、原地修改、尾部清零、nil 切片和非相邻重复的边界。270 收藏 -
Go strings.IndexRune 返回的是 Unicode 字符在 UTF-8 字符串中的首个字节偏移,而不是字符序号。本文说明 -1、0、utf8.RuneError 和非法 UTF-8 的边界,并给出安全切片与删除多字节字符的写法。142 收藏 -
Go bytes.IndexByte 接收一个字节切片和单个 byte,返回该字节第一次出现的索引;没有匹配时返回 -1。本文结合分隔记录、索引 0、空数据和 UTF-8 多字节字符说明正确用法。497 收藏 -
Go bytes.Count 用一个整数返回字节子切片的不重叠出现次数。本文说明最小写法、重叠匹配、空分隔片的 UTF-8 码点语义,以及如何区分返回 0 与参数错误。122 收藏 -
用一个小型 Go 工具说明 bytes.CutSuffix 如何处理固定后缀、如何判断 found,以及空后缀、未匹配和底层切片共享的边界。415 收藏 -
Go bytes.CutPrefix 用 after 和 found 同时表达去掉固定前缀后的切片与是否命中。本文说明未命中、空前缀、底层数组共享及旧版本兼容边界。405 收藏 -
Go crypto/mldsa 可以用 Options.Context 区分同一把密钥下的不同业务签名。本文从业务串域的故障现象切入,说明 Context 的长度边界、签名与验签必须保持一致的原因,以及如何用版本化上下文避免跨业务误验签。500 收藏 -
Go humanize 的 BigComma 可以把 math/big.Int 转成带千位分隔符的十进制文本。本文从超出 int64 的字符串解析开始,说明正负数、零值、解析错误和 BigCommaf 的适用边界。319 收藏 -
Go filepath.VolumeName 用于提取路径开头的卷名:Windows 盘符路径返回 C:,UNC 共享路径返回 \\host\share,其他平台返回空字符串。本文用跨平台示例拆解返回边界,并说明它与绝对路径判断、路径清理和安全校验的区别。236 收藏 -
Go 1.24 引入的 os.Root 可以把文件操作限制在指定目录内。本文用 Root.Stat 获取 FileInfo,判断普通文件、目录和符号链接,并说明相对路径、越界路径、错误处理以及 Stat 与 Lstat 的区别。188 收藏 -
Go 1.27 标准库 uuid.Parse 可以识别带连字符、花括号、URN 和无分隔符的 UUID 文本。本文按输入边界、错误处理和类型化后续操作拆解调用方式,帮助接口与配置代码避免误用 MustParse。322 收藏 -
Go 的 multipart.Writer 默认使用随机边界。本文围绕 SetBoundary 讲清合法边界、调用时机、Content-Type 同步和 Close 收尾,给出可直接改造的上传请求示例。294 收藏 -
Go 的 os.Readlink 返回的是符号链接保存的目标字符串。本文用 filepath.IsAbs 判断相对或绝对目标,并说明相对目标为什么要以链接所在目录为基准解释。363 收藏 -
Go netip.Addr.AppendBinary 适合把 IPv4 或 IPv6 地址追加到已有字节切片。本文说明返回切片、IPv4/IPv6 长度、零值错误和协议字段边界。415 收藏 -
bytes.Buffer.Available 返回的是底层缓冲区尚未使用的容量,不是当前可读数据长度。本文结合 Len、Cap、Grow 和 AvailableBuffer,说明如何判断追加空间并安全复用缓冲区。293 收藏