Go教程技术文章
-
Golang · Go教程 | 2天前 | 标准库 · JSON · Go教程 · encoding/json · Go encoding/json bytes.Buffer json.Compact JSON压缩
Go json.Compact 用已有 JSON 字节和 bytes.Buffer 生成紧凑 JSON,只删除结构中的无意义空白,不改动字符串值。本文说明最小用法、错误处理、Buffer 复用,以及它和 json.Indent、Marshal、HTMLEscape 的边界。214 收藏 -
Go runtime/asan 实际对应 go build -asan 与 AddressSanitizer 的协作入口,适合排查 cgo 连接的 C/C++ 内存问题。本文说明构建方式、报告阅读、泄漏开关和平台限制。304 收藏 -
Go 的 json.Valid 接收 []byte 并返回 JSON 语法是否有效的布尔值,适合做输入预检,但不负责把字段映射到结构体。本文用一个边界排查场景说明 Valid 与 Unmarshal 的分工。203 收藏 -
Golang · Go教程 | 2天前 | 标准库 · JSON · Go教程 · encoding/json · Go encoding/json Prefix JSON格式化 indent json.MarshalIndent
Go json.MarshalIndent 会先把 Go 值编码为 JSON,再用 prefix 和 indent 排版嵌套结构。本文区分两个参数的职责,说明接口、配置和日志场景的选型,并补充错误处理、json.Indent 与 HTML 转义的边界。204 收藏 -
Golang · Go教程 | 2天前 | 标准库 · JSON · go · encoding/json · Go bytes.Buffer Prefix json.Indent JSON格式化 indent
Go json.Indent 会把已有 JSON 字节按对象和数组层级排版到 bytes.Buffer。本文区分 prefix、indent、字符串内容与输入空白边界,并说明何时应改用 json.MarshalIndent。487 收藏 -
time.Duration 以 int64 纳秒保存,和整数相乘时不会自动报告溢出。本文从边界值、四种符号组合和 MinInt64 特例出发,给出乘法前检查并返回 overflow 标记的安全写法。392 收藏 -
Golang · Go教程 | 2天前 | 标准库 · csv · Go教程 · csv Go error FLUSH CRLF encoding/csv Writer.UseCRLF Windows换行
Go encoding/csv 的 Writer 默认使用 LF 换行;需要兼容依赖 CRLF 的 Windows 工具时,应在第一次 Write 前设置 UseCRLF=true,并在写入后正确调用 Flush 和 Error。本文按接口契约说明设置时机、错误边界和跨平台取舍。103 收藏 -
Golang · Go教程 | 2天前 | 标准库 · 错误处理 · IO · Go教程 · Go eof io.Pipe CloseWithError PipeReader PipeWriter.Close
Go io.Pipe 写端正常 Close 后,读端读完剩余数据会收到 io.EOF;如果生产过程失败,应使用 CloseWithError 传播真实错误。本文对比三种关闭入口,给出带错误处理的读取循环和关闭边界。321 收藏 -
Go bufio.Scanner 默认按行切分,空行会作为长度为零的 token 返回;循环结束后要检查 Err 区分正常 EOF、底层读取错误和 token 过长。本文给出空行策略、Buffer 配置和按行读取代码的迁移清单。329 收藏 -
Go 的 bufio.Scanner 默认 token 缓冲有限,读取超长日志行时可能提前停止。本文用 Scanner.Buffer 调整初始缓冲和最大上限,说明调用时机、错误处理,以及何时应改用 bufio.Reader。365 收藏 -
保存 ReaderAt、起始偏移和长度,为每次尝试重建 SectionReader。结合完整示例说明游标复位、读取不足、目标重试、源版本与 HTTP 响应边界。178 收藏 -
Go io.SectionReader 把底层 ReaderAt 限定为一个有边界的读取视图。本文说明如何结合 SeekStart、SeekCurrent、SeekEnd 在分片内定位,并比较顺序读取与 ReadAt 的适用场景。362 收藏 -
用 Go io.SectionReader 为同一个 ReaderAt 建立独立分片,解释 Read、ReadAt、EOF、短读和并发安全边界,给出可复用的分片任务写法与选型决策。154 收藏 -
说明 O_TRUNC 打开时截断与 Close 释放句柄的不同职责,给出保留写入、关闭错误的覆盖写函数,并解释直接覆盖、持久化与完整替换的取舍。343 收藏 -
Go os.OpenFile 的 perm 是创建文件时的请求权限,最终结果还会受到系统 umask 影响;已有文件则不会因为再次传入 perm 自动改权限。本文用创建、覆盖和显式 Chmod 三个场景说明正确写法。148 收藏