Go语言技术文章
-
用 Go crypto/x509 验证证书链时,Roots 决定信任锚,Intermediates 只负责补链,VerifyHostname 还要单独核对主机名。本文用最小代码说明三者的边界与排错顺序。345 收藏 -
Go 1.25 中可以用 runtime/debug.SetCrashOutput 把未处理 panic 和致命错误追加写入单独文件。本文用一个可运行的崩溃留证流程,说明文件轮转、监控进程接收和恢复边界。216 收藏 -
Go 1.25 让 Linux 容器中的默认 GOMAXPROCS 感知 cgroup CPU 配额,并提供 runtime.SetDefaultGOMAXPROCS 重新启用默认值。本文从升级风险、代码改动和验收证据三方面给出迁移清单。394 收藏 -
Go 1.27 将 goroutineleak profile 转为正式能力,可通过 runtime/pprof 与 net/http/pprof 观察一类永久阻塞的协程。它依赖垃圾回收器做可达性判断,但并不能覆盖所有泄漏场景,生产排查仍要结合调用链和阻塞点复核。244 收藏 -
把多项错误拼成字符串会丢掉可判断的错误链。本文以校验、写盘和关闭资源为例,演示如何迁移到 errors.Join,保留 errors.Is 判断能力,并处理 nil、重复错误与 errors.Unwrap 的边界。316 收藏 -
大模型返回的 JSON 偶尔缺字段、枚举值漂移或混入解释文字时,不能只继续堆提示词。本文按输出稳定性、供应商能力和业务风险比较提示词约束、结构化输出与服务端校验,给出可落地的组合选择和验收门槛。431 收藏 -
encoding/hex.AppendEncode 适合把字节编码结果追加到已有缓冲区。本文用 EncodedLen 判断容量,拆开 dst[:0] 复用、尾部追加和切片边界,避免预留不足或误把编码结果当原始字节。456 收藏 -
Go 的 net/netip 用 Prefix 表示网段,ParsePrefix 负责解析输入,Masked 负责得到规范化网络地址,Contains 才负责判断地址归属。本文用 IPv4、IPv6 和非规范输入拆开 Bits、Masked 与 Contains 的边界。360 收藏 -
reflect.Value.Comparable 用来先判断值是否具备 Go == 比较条件。本文从接口值和 slice、map 等不可比较类型出发,说明安全比较的写法、panic 边界与迁移检查点。148 收藏 -
Go 中 bytes.Buffer 适合逐步写入并把内容交给下游读取,bytes.Reader 适合只读字节切片、定位游标和重复读取。本文用一个小实验拆开两者的状态变化与选择边界。279 收藏 -
Go 的 encoding/binary.NativeEndian 适合读取本机格式,但不应直接替代协议字节序。本文用一个二进制记录示例拆开 NativeEndian、unsafe 转换和跨机器可移植编码的边界。267 收藏 -
围绕高架桥下的蓝色雨幕制作一组原创竖屏手机壁纸:主图以冷蓝雨夜和空旷留白适配锁屏,变体加入明显不同的橙色车流,并给出完整中英文提示词、构图位置与改词方法。343 收藏 -
Golang · Go问答 | 1星期前 | 标准库 · JSON · go · 数据解析 · 边界处理 · Go token encoding/json json.Decoder JSON流 More
当 JSON 字段不固定,encoding/json.Decoder.Token 可以按流读取结构边界。本文用 Token、More 和 json.Delim 解析嵌套对象,说明何时遇到 io.EOF、如何跳过未知值,以及最容易写错的 More 调用位置。255 收藏 -
施工升降机完成保养后,不能只看维修人员签字就恢复使用。本文按现场验收顺序说明断电检修确认、空载试运行、额定载重量试验条件和安全技术档案记录怎么核对。155 收藏 -
处理 multipart/form-data 时,不必把上传文件全部读入内存。本文用 NextPart 与 NextRawPart 展示如何按字段读取、跳过文件内容,并说明文件名解码和边界错误的判断方法。210 收藏