Go语言技术文章
-
Go io.CopyN 短输入通常返回 EOF,而非 ErrUnexpectedEOF。结合已写字节数和原始错误判断失败,理解部分写入、错误包装、重试与资源提交的边界。338 收藏 -
Go text/template 的 block 是“默认内容加可覆盖命名模板”的简写。本文用基础布局与子页面示例说明怎样解析同名定义覆盖默认块,并比较 block、define 与 ExecuteTemplate 的适用边界。338 收藏 -
Go 1.26 支持用 new(表达式) 创建带初始值的指针。以重试配置为例,讲清语言版本、默认类型、nil 与零值,以及 new(变量) 和取地址的区别。338 收藏 -
Go http.Client.Timeout 不只限制建立连接,还覆盖重定向和响应体读取;本文从响应头已返回但 Body 仍超时的现象出发,给出整体超时与请求级超时的排查写法。338 收藏 -
ECDSA 公钥不能直接当作 ecdh.PublicKey 的原始字节使用。本文用 Go 标准库说明 PKIX 公钥解析、ecdsa.PublicKey.ECDH 转换、共享密钥验证,以及 invalid public key 的常见边界。338 收藏 -
Go json.Decoder 没有 Close 方法。本文按底层 Reader 关闭责任、内部缓冲与业务结果引用拆解资源未释放问题,给出文件读取示例,并说明大 JSON 解码和流式读取的处理边界。338 收藏 -
Go bytes.Buffer 复用时要先 Reset,清空当前未读内容并保留底层存储。本文用一个批量摘要小示例说明旧内容残留、Len 与 Cap、Bytes 切片生命周期和并发边界。338 收藏 -
Golang · Go教程 | 4星期前 | 网络编程 · 标准库 · ip地址 · Go教程 · Go netip.Addr ParsePrefix CIDR net/netip netip.Prefix ParseAddr
Go net/netip 中,单个 IP 地址应使用 Addr,带斜杠的 CIDR 网段应使用 Prefix。本文从输入分流开始,说明 ParseAddr、ParsePrefix、Masked、Contains 以及 Addr.Prefix 和 PrefixFrom 的区别。337 收藏 -
Go build 默认会在条件满足时写入版本控制信息。本文围绕 -buildvcs 解释 stamping 失败的原因、仓库边界和修复选择。337 收藏 -
io.LimitedReader 的 N 是剩余读取预算,不是底层文件或网络流的真实长度。本文按 N、读取字节数和 error 分层判断达到上限、源数据提前 EOF 与其他错误,并给出固定长度读取的选择。337 收藏 -
Go 需要把一个切片模式重复多次时,可以使用 slices.Repeat。本文说明它如何计算结果长度、如何处理 count 边界,以及它与 make、Clone 的区别。337 收藏 -
Go embed 在编译期把文件内容写入运行包,修改磁盘文件后必须重新构建并确认启动的是新产物。本文用 embed.FS 示例说明旧二进制、路径不一致和开发态加载方式的排查边界。337 收藏 -
Go 中 bytes.Equal 和 string == 都是在比较底层字节序列,但 []byte 不能直接做内容比较,nil 与空切片、UTF-8 和 Unicode 规范化又有不同边界。本文用最小例子说明如何选对比较方式。337 收藏 -
介绍 Go slices.IndexFunc 的泛型函数签名、条件谓词写法、首个匹配索引返回规则,以及空切片、重复匹配和未找到时的 -1 处理方式。337 收藏 -
Go unicode.IsMark 判断的是单个 rune 是否属于 Unicode 的 Mark 类别 M,包含非间距、间距组合和包围标记。本文用具体字符串拆开预组字符与组合序列,说明如何按 rune 分类、如何解释字节偏移,以及为什么 IsMark 不能代替正规化或用户感知字符切分。337 收藏