Go教程技术文章
-
slices.DeleteFunc 会原地压缩切片,并清零新长度之后的尾部元素,从而断开被删除元素对对象的引用。本文用指针切片示例说明它的边界。419 收藏 -
讲清 Go math/bits.Add64 的输入进位、sum 与 carryOut 返回值,以及多字长加法中从低位向高位传递进位的正确写法215 收藏 -
Golang · Go教程 | 1星期前 | Go教程 · 输入校验 · Go math/big.Int.SetString Go 大整数进制解析 SetString 返回值判断 Go 输入校验 big.Int 字符串转换
讲清 Go math/big.Int.SetString 的成功与失败返回值、base=0 前缀规则、固定进制的常见误判,并给出安全处理非法输入的完整示例。334 收藏 -
strconv.ParseFloat 可以解析 1.25e3 这类科学计数法,但精度由 bitSize 决定。本文用 Go 示例说明 32/64 位舍入、NumError 分类、ErrRange 判断和后续存储的边界。455 收藏 -
Go strconv.AppendInt 可以把 int64 按指定进制直接追加到 []byte 日志缓冲区。本文说明返回值、base 参数、负数边界、容量复用和基准测试的正确用法,避免把追加结果丢失或把示意数据当成实测结论。293 收藏 -
Go 的 string 可以携带任意字节,协议入口不能仅凭类型就认为它是合法文本。本文用 unicode/utf8.ValidString 区分完整 UTF-8、截断序列和业务上不允许的内容,并给出拒绝与记录的落地写法。143 收藏 -
用 Go 的 len、unicode/utf8.RuneCountInString 和项目级宽度规则区分字节数、Unicode 码点数与屏幕显示宽度,避免中英文、emoji 和非法 UTF-8 造成长度判断偏差。333 收藏 -
Go strings.FieldsFunc 会把连续满足条件的字符视为一个分隔区间,并丢弃首尾分隔符。本文用混合分隔符和边界输入说明如何稳定切词、避免空字段误判。111 收藏 -
Go strings.Cut 返回的空字符串不一定代表分隔符缺失,真正的判断依据是 found。本文用边界输入和可复用代码区分空字段与缺失分隔符。272 收藏 -
strings.Builder 能减少循环拼接中的中间字符串复制,但 Grow、String、Reset 和按值传递都有明确边界。本文用最小示例说明如何预估容量、保持单一所有者,并用 Cap、Len 和基准测试判断优化是否成立。274 收藏 -
讲清 bytes.Buffer 处理分段响应时 Len、Cap、Grow、Reset 和 Bytes 的边界,给出复用同一缓冲区、复制别名数据和隔离并发请求的实战写法。154 收藏 -
代码生成器不要手工维护缩进和导入顺序:先输出完整且合法的 Go 文件,再用固定版本 gofmt 统一空白,用 gofmt -d 检查生成结果是否稳定。214 收藏 -
Go env -w 会把设置保存为用户级 Go 环境默认值,而命令前的 NAME=VALUE 只影响当前进程。本文用 GOPROXY、GOENV 和 go env -u 说明优先级、适用场景与清理方法。412 收藏 -
用 go list -deps -json 导出当前构建条件下的包级依赖闭包,再通过 Imports 反查间接依赖的直接来源,并说明 DepOnly、Deps、构建标签和错误对象的边界。392 收藏 -
Go flag.VisitAll 会按参数名字典序遍历全部参数,这个确定性顺序不等于用户帮助的阅读顺序。本文解释 VisitAll、Visit 的边界,并给出收集参数后按显式规则生成稳定帮助文档的方法。106 收藏