Go教程技术文章
-
讲清 Go time.FixedZone 的 name 与秒级 offset 语义,演示如何构造 UTC+08:00、转换已有时间并区分 FixedZone 与 LoadLocation。423 收藏 -
解释 Go math/big.Float.Text 的 format 与 prec 如何共同决定输出形态,比较 e、f、g、x、b、p 的参数语义,并给出固定数值的可读示例与边界判断。424 收藏 -
Go math/big.Int.QuoRem 对负数采用向零截断的 T-除法。本文用 x=y*q+r 验算商和余数,并对比 DivMod 的非负余数语义,补充大整数对象复用和除零处理要点。396 收藏 -
Go 的 math/big.Rat.SetString 会把合法十进制解析为精确有理数,但显示精度与内部精度不是一回事。本文用 RatString、Denom、FloatPrec 和 FloatString 分清四种检查方式。343 收藏 -
Go crypto/subtle 的 ConstantTimeSelect 用 0/1 条件在两个整数之间选择结果。本文说明 v 的合法范围、如何生成选择值、参数求值边界和测试方法。121 收藏 -
crypto/rand.Read 的契约是填满目标切片。本文说明如何处理长度判断、自定义 io.Reader 的短读、io.ReadFull 以及固定长度随机令牌的业务边界。143 收藏 -
Go draw.DrawMask 使用遮罩时边缘颜色变淡,通常是 mask alpha 参与 draw.Over 合成造成的。本文说明 DrawMask 坐标对齐、Over 与 Src 的区别,以及 RGBA/NRGBA 颜色模型的排查方法。201 收藏 -
解释 Go color.NRGBA 的非预乘存储、RGBA() 的 16 位预乘返回值,以及 draw.Over 中 Alpha 如何参与混合,附固定输入的换算示例和常见边界。450 收藏 -
Go 先用 image.DecodeConfig 读取图片格式、宽高和颜色模型,再按像素预算决定是否调用 Decode,适合上传校验和内存保护。307 收藏 -
Go zip.NewReader 不能直接接收普通 io.Reader。本文用 bytes.Reader 和临时文件说明如何提供 ReaderAt、准确 size,并正确处理 ZIP 成员资源。444 收藏 -
Go archive/zip 中 FileHeader.Method 不是任意压缩等级。本文解释 Store、Deflate、ErrAlgorithm、CreateHeader 与 CreateRaw 的边界,并给出写入错误、Close 收尾和读回校验的排查方法。358 收藏 -
Go archive/zip.File.Open 返回的是 io.ReadCloser。本文区分条目读取器与 ZIP 归档读取器的关闭责任,并给出单条函数、批量遍历和错误处理的安全写法。397 收藏 -
Go 使用 csv.Reader.ReuseRecord 读取 CSV 时,直接保存 Read 返回的切片可能让上一行被后续数据覆盖。本文解释底层数组复用,并给出保存前复制的安全写法。455 收藏 -
Go 的 csv.Reader.LazyQuotes 只放宽双引号语法,不会取消字段数、分隔符和记录边界检查。本文按输入形态说明哪些脏 CSV 仍会失败,并给出可定位错误的读取写法。327 收藏 -
Golang · Go教程 | 2星期前 | 文件读取 · Go教程 · Go csv.Reader Comment Go CSV 跳过注释行 encoding/csv 注释字符 csv.Reader 前导空白
Go 的 csv.Reader 可以通过 Comment 跳过以指定字符开头的整行,但前导空白会改变判定结果。本文用原创示例讲清配置方式、字段边界、错误处理与不规则 CSV 的选择策略。215 收藏