Go语言技术文章
-
Golang · Go教程 | 14小时前 | 错误处理 · 模板 · Go教程 · html/template · 模板渲染 Go html/template missingkey 模板缺失字段 Execute错误
Go html/template 默认可能把 map 缺失键继续渲染,开发阶段容易把数据问题藏到页面里。本文比较 missingkey=default、zero、error 的差异,给出严格配置位置、Execute 错误处理和环境选择方法。371 收藏 -
Go html/template 会根据变量所在的 HTML、属性和 URL 上下文自动处理输出。本文对比普通文本、查询参数和完整链接的写法,说明不安全协议为何会被过滤,以及 template.URL 的可信来源边界。326 收藏 -
Go 项目把模板放进 embed.FS 后,不能继续按操作系统文件路径理解它。本文用 text/template.ParseFS 读取嵌入文件,说明 glob 模式、模板名称、ExecuteTemplate 和常见错误之间的关系。208 收藏 -
Go database/sql.NamedArg 可以把业务参数名和值一起传给数据库接口,但 SQL 占位符语法和驱动支持仍需匹配。本文用查询、重复引用和排错示例说明命名参数的正确边界。311 收藏 -
Gin 的 ShouldBind 会消耗请求体,第二次绑定常常只能拿到空内容。本文用 ShouldBindBodyWith 缓存同一份 body,演示两个结构体的绑定写法、错误处理和性能边界。134 收藏 -
围绕 os.ReadDir、File.ReadDir 和 io/fs.ReadDirFS 讲清目录条目的排序、分页、io.EOF 与 DirEntry 信息读取边界,帮助 Go 程序按场景选择接口。269 收藏 -
讲清 go/types.Config.Check 为什么需要 Importer,以及怎样接入 importer.Default 解析导入包、收集类型信息并处理检查错误。222 收藏 -
Go maphash.Hash 的零值会自行选择随机种子,测试或并发计算需要显式共享 Seed,再为每个计算者创建独立 Hash。本文说明 MakeSeed、SetSeed、Reset 的关系,以及 maphash 不适合密码摘要和持久化协议值的边界。341 收藏 -
区分 Go ByteOrder 与 AppendByteOrder,展示定长整数追加、字节序选择和返回切片的正确用法,说明容量及共享数组的边界。373 收藏 -
netip.ParsePrefix 用来把 IPv4 或 IPv6 的 CIDR 文本解析为 Prefix。本文说明如何处理返回错误、为什么 ParsePrefix 不会自动清零主机位,以及何时使用 Masked、MustParsePrefix 和 PrefixFrom。334 收藏 -
讲清 Go 模块元数据字段、Replace 替换关系与多对象 JSON 流读取,提供保留失败状态的脚本及最小报告方案。242 收藏 -
go mod graph 用模块 requirement 边展示依赖来源,go list -m all 用来观察最终构建列表。本文按排查顺序说明如何定位上游、理解版本差异,并处理 replace、exclude 与 Go 版本语义。148 收藏 -
说明 go mod edit -fmt 如何只整理 go.mod 的文本格式,区分 -print、-json、go get 与 go mod tidy 的职责,避免把排版命令当成依赖维护命令。367 收藏 -
解释 Go go:generate 的固定执行目录规则,区分包内相对路径与仓库根目录参数,并给出 -root 方案让多包代码生成不依赖调用者当前目录。387 收藏 -
Go go:embed 可将目录资源装入 embed.FS。本文说明目录模式与隐藏文件规则、原始路径与 fs.Sub 子树读取,以及只读资源和敏感配置的边界。258 收藏