Go语言技术文章
-
maps.Clone 只复制 map 的第一层键和值。本文用切片、map、指针和结构体示例拆开嵌套引用边界,并给出需要独立状态时的深复制写法与检查清单。306 收藏 -
Goja 的 Compile 会生成与 Runtime 解耦的 Program,可以只编译一次,再交给多个独立 Runtime 执行。本文用完整示例说明输入注入、运行错误、并发隔离以及 Program 缓存与 Runtime 复用的边界。306 收藏 -
context.WithoutCancel 会保留父级值访问,却主动切断 Deadline、Done、Err 和 Cause。本文用最小示例说明原因,并给出后台任务重新建立独立超时的写法。305 收藏 -
遍历结构体切片时,range 值变量会复制每个元素。本文用最小示例说明复制边界,并给出索引访问、取地址和基准测试的选择方法。305 收藏 -
Golang · Go教程 | 4天前 | 文件上传 · Go教程 · net/http · 接口安全 · MaxBytesReader io.LimitReader 流式上传 Go MultipartReader multipart字段限制
用 MultipartReader 流式遍历表单字段,通过整包上限、字段白名单和 limit+1 哨兵读取分别限制文本与文件,并补齐资源清理、413 响应和审计测试。305 收藏 -
使用goquery Clone隔离文章子树修改,说明Remove返回值、Find匹配范围和CloneDocument区别,给出保留原文档的完整Go示例。305 收藏 -
用一个小型商品列表解析器说明 goquery Find 与 Filter 的核心区别:Find 从当前选择集向下查找后代节点,Filter 只在当前选择集中保留匹配节点,并给出嵌套列表、空结果和组合选择器的判断方法。305 收藏 -
讲清 Go tls.Config.KeyLogWriter 的 NSS key log 用法、文件权限、连接复用边界和调试后的清理方式,帮助定位 TLS 抓包解密问题并避免密钥输出进入生产环境。304 收藏 -
Golang · Go问答 | 1星期前 | Context · 超时控制 · net/http · Go问答 · Go HTTP超时 context.WithTimeout http.Client.Timeout
Go 的 http.Client.Timeout 是同一客户端所有请求共享的总时限兜底,请求 Context 则是单次调用可继承、可手动取消的业务预算。两者都能覆盖连接到响应体读取的完整生命周期,同时配置时更早的截止时间生效。304 收藏 -
Go 的 netip.Addr.Unmap 只会移除 IPv4-mapped IPv6 的映射前缀。本文用 Is4In6、Is4、As4 和 BitLen 说明何时需要规范化地址、何时应保留 IPv6 语义,并给出统一比较和序列化时的判断清单。304 收藏 -
maps.Keys 返回 map 键的 iter.Seq,但官方明确说明迭代顺序未指定,而且不同调用之间不保证一致。本文解释常见误区,并给出普通有序键、结构体键、测试与接口输出的稳定排序写法。304 收藏 -
使用 Go 的 httptest.NewRequest 和 ResponseRecorder,在不启动真实网络服务的情况下测试 HTTP Handler 的状态码、Header、响应体以及成功和错误边界。304 收藏 -
Go tview 动态新增输入组件后,组件虽然显示却可能仍由旧输入框接收键盘事件。本文解释 Flex.AddItem、focus 参数与 Application.SetFocus 的职责边界,并给出主事件回调、后台更新、Pages 和 Form 场景的处理方式。304 收藏 -
Go base64.NewEncoder 会缓存不足三个字节的尾部数据。本文按输入长度余数说明忘记 Close 时标准 Base64 会少掉多少字符,并给出显式 Close、错误检查和边界回归测试的修复方法。303 收藏 -
bytes.CutPrefix 未匹配前缀时会返回原始切片和 false,返回值依然有效且不产生副本。本文说明底层数组共享、修改风险、空前缀及 bytes.Clone 的使用边界。303 收藏