Go语言技术文章
-
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 默认将 runtime/pprof goroutine labels 纳入部分 traceback 输出,可用 GODEBUG=tracebacklabels=0 为单个进程关闭标签,并区分环境变量、go.mod 与 //go:debug 的配置边界。294 收藏 -
Go 1.27 默认启用小对象专用分配器,针对部分小于 80 字节的分配降低调用成本。本文拆开 GOEXPERIMENT=nosizespecializedmalloc 的构建期语义、runtime 条件和 A/B 对照用法,避免把它误当成运行时开关。176 收藏 -
Go 1.27 调整了 go tool trace 的 -http 监听语义:只写端口时默认限制为本机。本文区分 trace 数据生成与查看服务,并给出本机监听、显式对外监听和迁移检查方式。216 收藏 -
Golang · Go教程 | 1星期前 | goroutine · HTTP服务 · pprof · Go教程 · Go goroutine泄漏 Go诊断 net/http/pprof goroutine profile pprof.Handler
用 Go net/http/pprof 暴露 goroutine 诊断入口时,关键不是把 /debug/pprof/ 直接公开,而是隔离监听器、自定义 mux、限制访问边界并记录采集动作。本文给出 goroutine profile 的最小接入方式、seconds 参数的使用边界和安全收尾清单。318 收藏 -
Go 通过 Lookup 与 WriteTo 读取 goroutineleak profile,可按用途选择文本或二进制输出。本文提供错误处理与文件保存示例,说明 Go 1.27 版本变化、空结果限制和受控诊断入口的边界。264 收藏 -
Go 1.27 的 vet printf 分析器会提示一种容易被忽略的错误包装:错误类型本身实现了 error,却把指针作为 %w 操作数。本文解释它为何影响 errors.As,以及怎样修复并纳入持续检查。239 收藏 -
gofmt 在不同 CPU 架构上出现列对齐差异,通常是格式化器对齐决策的实现差异。本文说明 Go 1.27 的修复范围,并给出统一工具链、提交检查和升级处理方法。142 收藏 -
Go 1.27 为 go tool compile 增加 response file 支持。本文用一个具体编译场景说明如何用 @file 传递参数、处理引号与路径,并划清它和 go build 的边界。336 收藏 -
Go 1.27 的 atomictypes modernizer 可将适用的旧式原子函数访问迁移为强类型原子对象。本文说明限定分析器的命令、计数器迁移示例,以及初始化、对象复制、接口兼容和回归检查的边界。231 收藏