Go教程技术文章
-
Go strings.CutPrefix 返回 after 和 found 两个结果:前缀匹配时移除一个前缀,未匹配时保留原字符串并返回 false。本文用代码、表格和边界清单说明如何正确处理。103 收藏 -
Go strings.CutSuffix 用一个调用同时返回去掉固定后缀后的字符串和 found 状态,适合拆分文件扩展名。本文说明匹配、未匹配、空后缀和 Go 版本边界。410 收藏 -
Go bytes.FieldsFunc 接收一个 rune 判断函数,可把逗号、竖线、空白等混合字符当作分隔符,并返回不含空元素的字节子切片。本文说明自定义判断、UTF-8 语义、空结果和必要时的复制边界。397 收藏 -
用Go bytes.CutSuffix判断并移除一次固定字节后缀,区分空主体与未匹配,说明空后缀、重复标记和共享切片的处理方法,并给出返回独立副本的业务函数。177 收藏 -
Go bytes.Clone 适合在多个处理阶段需要独立修改 []byte 时隔离底层数组别名。本文从切片共享、nil 与空切片、长度容量以及浅层复制边界出发,给出可直接复用的工程写法。104 收藏 -
通过FileInfoHeader与SetMode保存Go ZIP文件头的权限信息,说明CreateHeader写入、归档关闭、目录模式和跨平台恢复的区别,并给出普通文件打包示例。315 收藏 -
Go compress/gzip 的 Name 与 Comment 属于 gzip 文件头元数据,需要在首次 Write、Flush 或 Close 之前设置。本文说明字段职责、编码限制、读取方式以及复用 Writer 时的重置顺序。144 收藏 -
Go compress/flate 的 Writer.Reset 可以在保留压缩级别和字典配置的前提下切换新的输出目标,适合批量处理多个独立数据块。本文说明 Close、Reset、错误处理和并发所有权的正确顺序。279 收藏 -
Go hash/crc32 的 IEEE 与 Castagnoli 不是可以随意互换的参数。本文用 MakeTable、Checksum、New 和 Update 说明如何按协议兼容性选择多项式,并划清 CRC32 与加密摘要的边界。380 收藏 -
Go log/slog 的 GroupValue 可以把多个 Attr 组成一个 Group,再配合 slog.Group 形成 request、user、deployment 等嵌套字段。本文说明空组消除、切片不可变和不同 Handler 输出时的组织方式。396 收藏 -
Go CSV读取启用ReuseRecord时,返回切片可能共享底层数组。结合同步消费、缓存快照和异步交接,说明低分配读取的适用方式、错误处理与内存保留取舍。349 收藏 -
Go 的 net/url.JoinPath 适合把基础 URL 与多个路径片段组合起来,并清理重复斜杠和相对片段。本文说明包级函数、URL.JoinPath、PathEscape、查询参数保留以及与 ResolveReference 的边界。481 收藏 -
用 Go 1.25 的 os.Root.RemoveAll 在固定根目录内递归清理子目录,掌握路径校验、错误分层、Root 关闭和版本平台边界。449 收藏 -
Go 解析 Set-Cookie 后,完整输入行会保存在 http.Cookie.Raw;本文说明怎样从 Response.Cookies 或响应头逐条读取它,并区分 Raw、Unparsed、RawExpires 与 String() 的重建结果。381 收藏 -
Go net/http Request.Clone 会复制 URL、Header、Trailer、表单等请求字段并替换 context,但 Request.Body 仍是浅复制。本文用客户端请求示例说明 Clone、WithContext、Body 和 GetBody 的边界,避免复制请求时误读或重复消费请求体。105 收藏