Go教程技术文章
-
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 收藏 -
Go 1.27 默认启用小对象专用分配器,针对部分小于 80 字节的分配降低调用成本。本文拆开 GOEXPERIMENT=nosizespecializedmalloc 的构建期语义、runtime 条件和 A/B 对照用法,避免把它误当成运行时开关。176 收藏 -
Go 1.27 默认将 runtime/pprof goroutine labels 纳入部分 traceback 输出,可用 GODEBUG=tracebacklabels=0 为单个进程关闭标签,并区分环境变量、go.mod 与 //go:debug 的配置边界。294 收藏 -
Go 1.27 调整了 go tool trace 的 -http 监听语义:只写端口时默认限制为本机。本文区分 trace 数据生成与查看服务,并给出本机监听、显式对外监听和迁移检查方式。216 收藏