Go语言技术文章
-
Go trace 页面打不开,先检查 trace.out 是否仍在写入,再确认 trace.Stop、文件 Close 和进程退出顺序,最后排除浏览器与旧格式兼容问题。210 收藏 -
用 Go archive/tar 解压时,先按 Header 区分目录、普通文件和链接,再把普通文件复制到安全目标路径,避免目录误写和归档路径越界。189 收藏 -
Go pprof profile 为空时,先区分采样窗口、目标负载、阻塞与互斥采样开关,以及 StopCPUProfile 和 Writer 写入边界,再选择正确的修复动作。364 收藏 -
Go archive/zip 读取 ZIP 清单时,可以先访问 Reader.File 和 FileHeader,只拿名称、大小、压缩方式等中央目录信息;确认需要正文后再调用 File.Open。231 收藏 -
从平台、路径、工具链、构建标签、共同依赖和符号查找六个边界排查 Go plugin 加载失败,给出可复现的 Open/Lookup 错误判断方法。216 收藏 -
介绍 Go 使用 compress/gzip 流式压缩 HTTP 响应的正确顺序:协商响应头、写入 gzip、依次 Flush,并在 Close 时处理 GZIP footer 与错误。373 收藏 -
Go build 的 -ldflags 不是主动截断空字符串,问题通常来自 Shell 展开与 Go 参数列表拆分。本文说明 -X 的完整 assignment 写法、带空格值的引号边界,以及用 go build -n 排查参数丢失。318 收藏 -
Go 的 html/template 和 text/template 接口相近,但安全边界完全不同。本文从普通字符串、HTML 上下文、纯文本输出和 template.HTML 安全类型四个角度说明选择方法,并给出迁移与测试检查清单。427 收藏 -
Go CGO 交叉编译出现 exec gcc not found 时,先确认目标平台、CGO_ENABLED 和 CC,再在目标 C 交叉编译器与关闭 CGO 之间选择,最后用二进制架构检查避免误用主机 gcc。432 收藏 -
讲清 Go text/template 如何通过 FuncMap 注册自定义函数,为什么必须先 Funcs 再 Parse,以及如何处理函数签名、error 返回和生产环境初始化顺序。125 收藏 -
Go 测试包中 embed 文件读不到时,先区分编译期模式匹配、embed.FS 内部路径和 os.ReadFile 工作目录三个边界,再用 go list 查看 TestEmbedPatterns 与 XTestEmbedPatterns,快速定位测试资源归属。477 收藏 -
介绍 Go regexp 命名捕获组的读取方法:用 SubexpNames 对齐名称和匹配结果,用 SubexpIndex 定点取值,并安全处理 nil、-1、可选组和动态正则编译错误。374 收藏 -
Golang · Go问答 | 1个月前 | JSON · Go问答 · Go encoding/json html/template JSON转义 JavaScript上下文 template.JS
Go html/template 输出 JSON 时出现 \u003c、\u0026 等转义字符,通常是模板针对 HTML 或 JavaScript 上下文的安全编码,并不代表 JSON 损坏。本文区分接口 JSON、模板对象和 script 内嵌数据的处理方式。491 收藏 -
Go time.Date 不会校验并拒绝超范围日期,而是把月份、日期和时间字段归一化。本文用月末构造示例说明 day=0 的含义,并梳理时区、AddDate 和 nil Location 的常见坑。306 收藏 -
Go template 报 function not defined 时,关键是把 Funcs 注册放到 Parse 前,并逐项检查模板函数名、文件解析入口、ExecuteTemplate 名称和函数签名。196 收藏