Go教程技术文章
-
介绍Go archive/tar写入目录、文件模式和大小的方法,提供空目录与脚本示例,说明FileInfoHeader权限转换、关闭错误和失败回退。254 收藏 -
解释 Go io.SectionReader.Outer 返回直接父窗口的语义,并用逐层累加偏移、截断父窗口剩余长度的方法还原嵌套读取区间。254 收藏 -
用12字节固定头示例设计Go二进制解析接口,明确大端偏移、完整读取、长度上限、错误保留和版本兼容边界。254 收藏 -
用 Go testing/fstest.MapFS 构造内存文件,演示 ReadFile 读取指定路径,并用 errors.Is 区分非法路径、文件不存在和正常结果。253 收藏 -
Golang · Go教程 | 1星期前 | Go教程 · database/sql · database/sql Go数据库 Rows.ColumnTypes ColumnType.Nullable
Go database/sql 的 ColumnType.Nullable 返回可空值和信息是否可靠两个结果。本文说明怎样通过 Rows.ColumnTypes 读取列可空性,并正确处理驱动不支持和未知状态。253 收藏 -
Go json.Decoder 解码到 any 时,JSON 数字默认会落到 float64。本文说明如何用 UseNumber 保留为 json.Number,再按业务边界解析成 int64 或 float64,避免大整数提前丢失精度。253 收藏 -
io.Writer 只保证 Write([]byte),不能直接假设目标一定有 WriteString。本文用 io.StringWriter 和 io.WriteString 说明能力判断、兼容回退,以及包装器带来的边界。252 收藏 -
通过显式提取 Context 中的请求标识并用 Logger.With 派生请求日志器,为多条 slog 日志复用上下文字段。提供完整 Go 示例,解释 InfoContext、全局默认日志器、字段缺失与重复键的边界。252 收藏 -
本文用一个小型 Go 工具说明 time.Time.UnixMilli 如何生成毫秒时间戳,解释 UnixMilli 与 Unix 的单位区别、1970 年以前的负值、双向还原以及 JSON 和数据库边界的统一约定。252 收藏 -
通过动态比较小函数说明Go reflect.Value.Comparable与Type.Comparable的差异,处理接口字段、nil、不同类型及不可比较输入,区分可比较、相等和排序能力。252 收藏 -
用 Gock 为指定主机注册 HTTP mock,说明主机匹配、客户端拦截、未匹配请求策略和测试清理边界。252 收藏 -
从原始字符串直接构造 shopspring/decimal 小数,比较字符串、浮点数和整数入口,提供带错误处理的完整示例,并区分精确数值、业务约束和固定小数显示。252 收藏 -
Go time.Time.Compare 返回 -1、0、1,适合把两个时间点的先后关系统一接入排序和状态判断。本文说明返回值、与 Before/After/Equal 的选择、排序回调以及零值和单调时钟边界。252 收藏 -
Golang · Go教程 | 3星期前 | HTTP · go · 服务端 · Go net/http http.MaxBytesReader http.MaxBytesError HTTP 413
Go 服务端限制请求体不能只看 Content-Length。本文用 http.MaxBytesReader 把上限放在读取入口,通过 errors.As 识别 *http.MaxBytesError,并将超限请求稳定转换为 413,同时说明分块请求、MaxBytesHandler 和提前拒绝的边界。251 收藏 -
Go 的 slices.BinarySearch 返回匹配索引或有序插入位置。本文用最小示例说明升序约束、found 判断、重复值边界和 BinarySearchFunc 的结构体查找写法。251 收藏