Go语言技术文章
-
用一次 os.OpenRoot 复用目录根对象,逐个读取直接子文件并及时关闭,结合有界读取、逐项错误与根关闭错误,说明多文件批处理的资源归属和恢复边界。164 收藏 -
Go 1.23 起可以直接用 os.CopyFS 把 fs.FS 的目录树复制到磁盘。本文从 os.DirFS 和 fs.Sub 的根路径开始,给出嵌入文件与本地目录示例,并排查已存在文件、路径和权限错误。444 收藏 -
Go 1.24 起可以用 os.Root 把文件操作约束在指定目录树内。本文用一个上传目录示例说明 OpenRoot、Root.Open、Root.OpenFile 的相对路径用法,以及软链接、关闭和平台边界。264 收藏 -
Go html/template 会根据动作所在的 HTML 上下文自动转义 URL。本文区分普通 string、template.URL 与 #ZgotmplZ,说明如何识别 URL 边界并安全地建立受信任类型。352 收藏 -
Go 的 crypto/ecdsa Sign 不会把摘要长度简单地强制要求为曲线阶长度;摘要过长时会按曲线阶位数截断。本文用一个小型签名器说明如何显式检查、调用 Sign 并配套验证。319 收藏 -
说明 Go 1.27 中 tls.MLKEM1024 的配置方式、CurvePreferences 的集合语义,以及回退候选和握手状态读取方法,区分支持配置与实际协商结果。326 收藏 -
Go crypto/x509 解析证书后,可从 Certificate.Extensions 按 OID 查找自定义扩展,再用 encoding/asn1 解码 pkix.Extension.Value。本文区分 Extensions 与 ExtraExtensions,说明 DER 边界、关键扩展和常见找不到原因。437 收藏 -
Go 1.27 将标准库 Unicode 数据升级到 17.0.0。本文用 unicode.Version、分类表和 UTF-8 校验搭出兼容处理方案,并说明旧工具链、字体与终端显示之间的边界。436 收藏 -
说明 Go 1.27 在 macOS 上使用 SSL_CERT_FILE 和 SSL_CERT_DIR 的规则,结合证书来源、进程环境、证书池缓存与客户端示例,解释生效条件、错误判断和恢复方法。230 收藏 -
Go 1.27 的 bytes.CutLast 可以把按最后分隔符拆分的返回值直接表达为 before、after 和 found,省掉 LastIndex 后的偏移计算,同时保留未找到分隔符和原始切片共享这两个边界。381 收藏 -
Go 1.27 的 strings.CutLast 可以围绕字符串中最后一次出现的分隔符返回 before、after 和 found。本文用一个小型反向拆分工具说明它的返回契约、未命中边界,并与 Cut、LastIndex、Split 做选择对比。194 收藏 -
介绍 Go 1.27 自定义连接的 TLS ALPN 状态接口,以连接包装器和完整握手示例说明真实状态转发、HTTP 协议配置及客户端与服务端的适用边界。339 收藏 -
Go compress/flate 的输入相同并不保证压缩字节相同。本文解释压缩级别、字典、Flush、写入边界和 Go 版本如何影响编码,并给出需要字节级稳定时的固定条件。452 收藏 -
讲清 Go 1.27 net/http 如何在 HTTP/2 服务端接收并处理 RFC 9218 客户端优先级信号,说明 DisableClientPriority 的默认行为、适用条件和排查方法。421 收藏 -
讲解 Go 1.27 HTTP/1 响应体关闭后的有限自动排空,结合有界读取、共享 Transport 与 httptrace,区分关闭责任、读完正文和连接复用。390 收藏