Go教程技术文章
-
Go 访问内网 HTTPS 服务时,用 x509.CertPool 加载自签名 CA 并注入 tls.Config.RootCAs,保留证书链与主机名校验。192 收藏 -
Go testing.T.Helper 只改变测试失败日志的调用层级,不改变断言结果或控制流。本文用多层断言和子测试示例说明应该在哪里标记,以及常见误区。192 收藏 -
Go encoding/json 的 omitempty 不是‘所有零值都隐藏’:本文按 bool、数字、字符串、切片、映射、数组、指针和结构体拆解省略边界,并给出可选 API 字段的建模与测试方法。192 收藏 -
用 Go 的 url.Values 和 http.NewRequest 构造带重复查询参数的客户端请求,说明 URL 编码、请求头、错误处理与响应体关闭规则。192 收藏 -
Go strings.CutSuffix 适合处理明确位于字符串末尾的后缀。本文用文件名清理场景说明 before 与 found 的含义,并区分未匹配、空后缀、大小写和路径解析边界。192 收藏 -
go-pretty/table 用 SortBy 接收多个排序规则,前面的规则优先,只有当前列相等时才比较下一列。本文从状态、优先级、更新时间的真实场景出发,说明列名与列号、数字与文本模式、忽略大小写和 CustomLess 的组合方式。192 收藏 -
Golang · Go教程 | 1星期前 | 字符串 · unicode · Go教程 · Go unicode 单词边界 文本分段 uniseg FirstWordInString Graphemes
Go uniseg 按 Unicode Standard Annex #29 提供单词边界切分能力。本文用 FirstWordInString 连续提取文本片段,说明 state 与 rest 的配合、标点和空格的边界表现,以及什么时候应该改用 Graphemes 迭代器。192 收藏 -
用 types.NewTypeParam 创建类型参数,再通过 NewSignatureType 的声明列表和参数元组构造泛型签名。示例说明同一类型参数对象的复用、旧接口迁移和接收者边界。192 收藏 -
os.CopyFS 适合把一棵目录树复制到目标目录,但符号链接、目标已存在和中途失败会改变结果。本文用可运行示例拆开复制边界、错误判断和失败后的清理策略,帮助你避免把链接误当成普通文件。191 收藏 -
net/textproto 的 ReadMIMEHeader 没有公开的大小参数。本文区分自定义文本协议与 HTTP 服务端两种场景,分别用受限 reader 和 Server.MaxHeaderBytes 控制头部边界,并说明超时、头部值数量和请求体限制的区别。191 收藏 -
围绕 sync.Map.Range 回调内删除当前键的场景,说明 Delete 为什么可以调用、Range 为什么不是一致快照,以及缓存清理时如何选择实现。191 收藏 -
FormatFloat 返回字符串,AppendFloat 追加到字节切片。通过读数文本示例比较结果类型、相同格式参数、缓冲区复用和异步交付责任,说明容量不是上限、追加不等于零分配。191 收藏 -
Go 给错误添加上下文时,用 fmt.Errorf 的 %w 保留哨兵错误,再用 errors.Is 沿包装链或错误树匹配目标;不要依赖错误文本,也不要把 errors.Is 和 errors.As 混用。191 收藏 -
go env -changed 只显示 Go 工具链有效值与默认值不同的设置。本文解释它的比较边界、空结果含义,并配合 go env -json、-w、-u 快速定位和清理自定义配置。191 收藏 -
Go compress/zlib.NewReader 可以把 zlib 压缩数据接成 io.ReadCloser,随后用 io.Copy 或自定义读取逻辑流式解压。本文从格式边界、创建错误、资源关闭、读取错误和预置字典几个角度给出可直接改造的写法。191 收藏