Go语言技术文章
-
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 1.25 起可以用 os.Root.Chtimes 在受限目录树内更新文件的访问时间和修改时间。本文说明两个时间参数、零值保留、精度、权限与平台边界。276 收藏 -
Go 1.25 起可以用 os.Root.MkdirAll 在受限目录树内创建多级目录。本文说明 OpenRoot、相对路径、FileMode 权限参数、重复创建和迁移边界。215 收藏 -
Go bytes.Buffer.Grow 只预留后续写入空间,不会增加 Len。本文区分 Len、Cap 与 Grow 的语义,并用拼接示例说明如何预分配容量、复用 Buffer 和处理参数边界。119 收藏 -
Go 模块联调时,可用 go mod edit -replace 将已 require 的依赖临时指向本地目录。本文说明本地路径、module 路径、版本范围、验证命令和清理步骤,避免替换不生效或把本地配置提交到仓库。238 收藏 -
Go 1.25 引入的 os.Root.Lchown 可以在受限目录内修改符号链接自身的数字 uid/gid。本文区分 Lchown 与 Chown 的作用对象,给出错误处理和跨平台排查要点。426 收藏 -
Go 1.26 的 EncryptOAEPWithOptions 可以分别设置 OAEP 主哈希和 MGF1 哈希。本文按 Hash、MGFHash、label 与 RSA 模长四项参数,说明 Go 与 Java、OpenSSL 等对端如何建立可排查的 RSA-OAEP 互操作契约。408 收藏 -
Go net/http Request.MultipartReader 适合把 multipart/form-data 请求按 Part 流式读取,避免 ParseMultipartForm 为大文件建立完整表单结构。本文说明文件与普通字段的分流、整体请求上限、单文件超限判断和错误清理。282 收藏 -
Go x509 证书链验证通过信任检查后,仍可能被中间 CA 的 NameConstraints 拒绝。本文说明 PermittedDNSDomains、ExcludedDNSDomains、叶子证书 SAN 与 VerifyOptions 的关系,并给出错误定位顺序。162 收藏 -
Go archive/zip 遇到非内置压缩方法时,可以在 Reader 上注册自定义 Decompressor。本文说明方法编号映射、io.ReadCloser 返回值、File.Open 选择解压器以及校验和和并发资源边界。359 收藏 -
本文用 Go net/http 说明 Transport.CloseIdleConnections 只关闭 keep-alive 空闲连接,区分 Response.Body、活动连接和请求取消,并给出 Client、Transport 与连接池参数的排查方法。397 收藏