Go教程技术文章
-
用 http.Transport.Clone 从基础 Transport 创建客户端专属副本,说明导出字段复制、请求前配置、空闲连接关闭和并发修改边界,避免多个 http.Client 共享配置时互相影响。280 收藏 -
解释 Go database/sql 中 Rows.Next 返回 false 的两种原因,给出 Rows.Err 的标准收口写法,并覆盖 Scan、上下文取消、Close 与多结果集的错误边界。263 收藏 -
用指针与Elem准备Go reflect.Value.Set的目标存储,区分CanAddr和CanSet,给出受限赋值函数,并说明类型可赋、未导出字段、接口槽位及批量配置的处理边界。311 收藏 -
通过动态比较小函数说明Go reflect.Value.Comparable与Type.Comparable的差异,处理接口字段、nil、不同类型及不可比较输入,区分可比较、相等和排序能力。252 收藏 -
Go cmp.Compare 返回 -1、0、1 三种排序结果,适合直接表达字段比较;多字段排序时可用 cmp.Or 保留第一个非零结果,再交给 slices.SortFunc。本文用订单示例说明升序、降序与浮点边界。207 收藏 -
Go cmp.Or 可以按参数顺序返回第一个非零值,适合组织请求配置、环境变量和代码默认值的回退链,也能串起多字段排序比较。本文说明零值、comparable 约束与参数求值边界。110 收藏 -
Go 1.23 的 slices.Repeat 可以按次数生成连续切片结果,本文说明正数、零次、空输入、nil 语义、负数和大规模分配边界。476 收藏 -
介绍 Go slices.IndexFunc 的泛型函数签名、条件谓词写法、首个匹配索引返回规则,以及空切片、重复匹配和未找到时的 -1 处理方式。337 收藏 -
Go slices.Replace 可以把切片的半开区间替换成任意数量的新元素。本文用权限列表和批处理记录说明变长替换、空替换、索引边界、底层数组复用与结果判断,帮助你写出可复查的切片更新代码。368 收藏 -
Go 的 slices.Compare 会从索引 0 开始逐个比较两个切片,首个不相等元素决定结果;如果共同前缀完全相同,则短切片更小。本文说明返回值、长度边界、元素约束和 CompareFunc 的选择。395 收藏 -
介绍 Go unicode/utf8.AppendRune 的函数契约、已有 []byte 缓冲区追加方式、返回切片要求和非法 Rune 替换为 utf8.RuneError 的处理边界。347 收藏 -
Go strings.CutPrefix 返回 after 和 found 两个结果:前缀匹配时移除一个前缀,未匹配时保留原字符串并返回 false。本文用代码、表格和边界清单说明如何正确处理。103 收藏 -
Go strings.CutSuffix 用一个调用同时返回去掉固定后缀后的字符串和 found 状态,适合拆分文件扩展名。本文说明匹配、未匹配、空后缀和 Go 版本边界。410 收藏 -
Go bytes.FieldsFunc 接收一个 rune 判断函数,可把逗号、竖线、空白等混合字符当作分隔符,并返回不含空元素的字节子切片。本文说明自定义判断、UTF-8 语义、空结果和必要时的复制边界。397 收藏 -
用Go bytes.CutSuffix判断并移除一次固定字节后缀,区分空主体与未匹配,说明空后缀、重复标记和共享切片的处理方法,并给出返回独立副本的业务函数。177 收藏