Go教程技术文章
-
Go httputil.DumpRequestOut 能把客户端请求按接近线路的形式导出,并包含 Transport 追加的请求头。本文用请求副本和固定字段脱敏,解决调试请求头时泄露 Authorization、Cookie 等敏感值的问题。233 收藏 -
Go 的 debug.FreeOSMemory 会主动触发一次 GC,并尝试把可归还的内存交还给操作系统。本文用 HeapAlloc、HeapReleased 和进程 RSS 区分回收、归还与实际收益,避免把它当成内存泄漏修复器。173 收藏 -
Go泛型可用类型集和底层类型项限制数值参数。通过整数、实数约束与业务计数白名单示例,说明自定义类型接纳、同一类型参数及溢出精度边界。385 收藏 -
Go 泛型可以用 comparable 约束元素、用 map 记录已见值,在不改变输入顺序的情况下完成全局切片去重;元素不可比较时再通过 key 函数提取业务键。269 收藏 -
Go 切片性能优化的关键不是盲目把容量设得很大,而是根据可估算的数据量使用 make 预留容量;本文结合追加、未知数量和基准测试说明 len、cap 与 append 的配合。135 收藏 -
Go map 的 range 顺序没有稳定保证。本文用收集键、排序键、按键取值的方式实现可重复输出,并补充整数键、按值排序、JSON 序列化和测试快照的边界。265 收藏 -
syscall.Exec 不是启动一个子进程,而是把当前进程映像替换成目标程序。本文从 argv、环境数组和成功不返回三个边界出发,给出 Unix 下的最小写法与兼容建议。139 收藏 -
通过运行时指标采样场景讲清描述符发现、Kind 类型分派和直方图读取,说明升级兼容、样本复用及独立快照的处理方法。169 收藏 -
Golang · Go教程 | 1星期前 | go · 数据库 · database/sql · Go database/sql Go Rows.NextResultSet Go 多结果集 Go Rows.Err
围绕 database/sql.Rows.NextResultSet 讲清多结果集的切换、每个结果集的扫描顺序,以及 Rows.Err 如何区分正常结束和迭代错误。410 收藏 -
Golang · Go教程 | 1星期前 | 并发 · Go教程 · trace.NewTask go tool trace Go runtime/trace 执行跟踪 trace.WithRegion
Go runtime/trace 不只是记录运行时事件,还能用 task、region 和 Log 标记一次跨 goroutine 的业务操作。本文从排查现场出发,说明如何把任务上下文传入 goroutine、如何标记区间,以及如何避免结束时机和标记粒度失控。391 收藏 -
用自定义 Region 类型实现 TextUnmarshaler,接入 Go flag.TextVar,讲清默认值、非法参数与 TextVar、Var、Func 的选择边界。184 收藏 -
Golang · Go教程 | 1星期前 | 错误处理 · 模板 · 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 收藏