Go教程技术文章
-
Go Cron 可以在单个 Cron 表达式前加 CRON_TZ=Area/City,让该任务按独立 IANA 时区计算,同时保留调度器的默认时区。本文说明全局配置、单任务覆盖、错误处理与夏令时边界。345 收藏 -
text/scanner.Scanner.IsIdentRune 通过字符和位置回调决定一个标识符能由哪些 rune 组成。本文从默认规则出发,说明如何用 i 区分首字符和后续字符,并处理空白、TokenText 与 Scanner 封装边界。345 收藏 -
Go 的 http.Request.UserAgent 会读取请求中的 User-Agent 字段。本文说明空值处理、日志记录和轻量归类,并划清它与认证、授权和设备识别的边界。345 收藏 -
说明 Go runtime.AddCleanup 的输入与引用边界,通过独立清理状态、显式 Close 和幂等释放示例,解释 nil、闭包反向引用、KeepAlive、Stop 及不保证回调时机等问题,并给出计数与测量方法。345 收藏 -
围绕 Go constant.MakeFromLiteral 的三个参数,说明如何把 token.INT、FLOAT、IMAG、CHAR、STRING 与原始字面量正确配对,处理 Unknown,并在源码分析器中复用 constant.Value。345 收藏 -
Go text/template 默认允许缺失 map key 继续执行。本文说明 missingkey=error、default、zero 的差异,并用 Execute 错误处理和排查清单,让关键模板字段缺失时及时暴露问题。345 收藏 -
接口收到一段无法解析的 JSON 时,json.Decoder.InputOffset 可以提供稳定的字节位置。本文用一个请求体校验器串起 Decode、InputOffset、错误截取和边界保护。344 收藏 -
Go 分数运算使用 math/big.Rat 保留任意精度的分子和分母,结合 SetString、Add、Mul、Quo 与 Cmp 完成精确计算,最后再用 FloatString 输出小数。344 收藏 -
用 Go text/template 的命名模板和 ExecuteTemplate,让同一个 Report 数据对象输出纯文本与 Markdown,并说明 define、Parse、字段路径和 html/template 的边界。344 收藏 -
Go url.JoinPath 会自动清理路径中的多余斜杠,但 https:// 的双斜杠是协议分隔符。本文从路径拆分、PathEscape 和 EscapedPath 三个角度排查异常拼接。344 收藏 -
用 Go maps.EqualFunc 比较带 float64 字段的 map,拆清键集合、结构体值、绝对与相对误差、NaN 和无穷大的处理边界。344 收藏 -
Go 的 io.Copy 会流式复制大文件,并优先使用 WriterTo 或 ReaderFrom;覆盖旧文件时仍要显式截断。本文给出 O_TRUNC 最小写法,以及用 CopyN、临时文件、Sync 和 Rename 处理提前 EOF 与失败回滚的实现。344 收藏 -
讲清 Go pem.Decode 的 block/rest 返回关系,给出连续读取多个 PEM 区块的循环、nil 退出边界和按 Type 分流解析的方法。344 收藏 -
Golang · Go教程 | 1个月前 | 标准库 · 数据库 · uuid · Go教程 · database/sql · Go标准库uuid uuid.New UUID数据库 BINARY(16) CHAR(36) uuid.Parse
Go 1.27 标准库 uuid 生成 UUID 后,如何根据数据库字段选择 BINARY(16) 或 CHAR(36),并完成参数绑定、查询读回和 uuid.Parse 校验。344 收藏 -
用请求级 context 派生查询超时,把它传给 database/sql 的 QueryContext,并在取消、超时和驱动错误之间做出清晰判断,同时保证结果集关闭和连接池资源回收。344 收藏