Go语言技术文章
-
本文从大文件不应整段复制的场景出发,用 Go io.SectionReader 按绝对偏移和区间长度创建读取窗口,说明 Read、ReadAt、Seek、Size、EOF、文件关闭和 ReadAll 的边界。189 收藏 -
Golang · Go教程 | 2天前 | 并发 · 标准库 · 定时任务 · 性能优化 · Go教程 · 批处理 计时器 Go 内存分配 time.Ticker Ticker.Reset Ticker.Stop
Go time.Ticker 的关键不在于盲目调用 Stop,而在于明确 ticker 的生命周期:用 context.Done 结束周期任务,用 Stop 停止后续 tick,用 Reset 复用同一任务内的节拍,避免批处理循环反复创建 ticker 和失去资源归属。404 收藏 -
用 time.Ticker 做周期任务时,停止条件、空输入和任务错误应该分开处理。本文从 NewTicker、select、context 和 defer Stop 讲清一个可复用的实现边界,并补充 Go 1.23 之后的回收语义。276 收藏 -
Go 的周期任务不应该靠关闭 ticker.C 退出。本文用 context、time.NewTicker 和 defer Stop 写一个可复用示例,说明停止任务、停止 ticker、通道不关闭以及慢处理和版本边界。493 收藏 -
Golang · Go教程 | 2天前 | 标准库 · 错误处理 · go · 时间处理 · Go 时区 日期解析 time.LoadLocation time.ParseInLocation time.Location
Go 解析不带时区的本地日期时,应先加载指定的 time.Location,再调用 ParseInLocation。本文区分空输入、未知时区和日期格式错误,并用 errors.Is 与 %w 保留调用方可判断的错误语义。310 收藏 -
Go ParseInLocation 可按指定 Location 解释无时区日期。本文给出批量解析示例,说明复用时区、结果预分配、日期转换差异和错误处理边界。147 收藏 -
Golang · Go教程 | 2天前 | 标准库 · time · Go教程 · 日期时间 · Go 时区 日期解析 time.LoadLocation time.ParseInLocation time.Location
本文从无时区日期被解析成 UTC 的现象出发,用 Go time.LoadLocation 和 time.ParseInLocation 完成指定时区的本地日期解析,并说明输入错误、加载失败、固定偏移和夏令时边界。174 收藏 -
Go hash/crc32.MakeTable 可以把自定义 CRC 多项式转换成可复用的校验表。本文用 CRC32-Q 说明如何一次创建、重复计算,并区分多项式表示、哈希状态与安全摘要边界。371 收藏 -
本文用 Go parser.ParseFile 构造 AST,再通过 ast.PreorderStack 在访问 CallExpr 时读取父节点栈,识别所属函数,并说明返回 false 跳过子树、空栈和 Go 版本兼容边界。455 收藏 -
本文用 Go debug/elf 读取 ELF 节区的 SectionHeader.Flags,通过 SHF_EXECINSTR 判断节区是否包含指令,并区分缺失节区、非 ELF 输入和其它标志组合。336 收藏 -
Go 1.27 的 encoding/json/v2 默认拒绝 JSON 重复键。本文用批处理示例说明严格模式、遗留兼容开关、结构体复用和分配测量的边界。390 收藏 -
用 Go 的 go/parser.ParseFile 解析单文件源码,保留注释并从 ast.File 读取包名、声明和文档字段,同时说明 FileSet、语法错误与完整包分析的边界。393 收藏 -
Go encoding/json/v2 默认拒绝重复成员名,可用 AllowDuplicateNames 明确严格或兼容策略。示例说明对象入口、空输入处理、局部结果隔离及旧数据导入边界。126 收藏 -
Go 1.27 的 encoding/json/v2 默认拒绝 JSON 对象中的重复名称。本文用一个可复用的小函数说明如何识别重复键错误,以及何时显式使用 jsontext.AllowDuplicateNames(true) 兼容旧协议。348 收藏 -
接收用户提供的文件路径时,先用 filepath.IsLocal 做词法边界判断,可以拒绝绝对路径、空路径、父目录逃逸意图以及 Windows 保留名,再安全地拼接工作目录。本文用一个可复用的 Go 示例说明校验、Join 和真实文件操作之间的边界,并提醒 IsLocal 不会解析符号链接。389 收藏