Go语言技术文章
-
Go 类型断言如何限定接口范围?本文说明具体类型断言与接口类型断言的区别,演示 comma-ok、安全探测、最小接口和 type switch 的取舍。419 收藏 -
slices.DeleteFunc 会原地压缩切片,并清零新长度之后的尾部元素,从而断开被删除元素对对象的引用。本文用指针切片示例说明它的边界。419 收藏 -
Golang · Go教程 | 3天前 | 标准库 · regexp · 字符串处理 · Go教程 · 命名捕获组 正则替换 Go regexp ExpandString regexp.Expand FindSubmatchIndex
用 Go regexp 的 Expand 和 FindSubmatchIndex 把匹配文本转换成结构化输出,覆盖命名与数字引用、字面美元符号、批量追加和未匹配分组边界。419 收藏 -
runtime/metrics.Read 只负责把运行时指标写入 Sample 的 Value。本文用动态发现、类型判断和采样快照说明如何稳定读取,避免把指标描述、样本槽位和 Value 类型混为一谈。418 收藏 -
Go 1.23 的 slices.Chunk 可以把切片按批次遍历。本文比较手写下标循环、slices.Chunk 与复制切分的适用边界,重点说明子切片共享底层数组、容量被裁剪以及 n 参数的校验方式。418 收藏 -
Go 两个本地进程可以通过 Unix Socket 通信:服务端使用 ListenUnix 和 AcceptUnix,客户端使用 DialUnix,双方用换行或长度前缀约定消息边界。本文还说明 socket 文件清理、超时、权限和 unixpacket 的选择边界。418 收藏 -
解释 Go CGO_ENABLED=0 后依赖包无法编译的原因,教你用 GOOS、GOARCH、CgoFiles 和 GoFiles 判断文件选择,并在启用 cgo、纯 Go实现与自有包双实现之间做出可验证的修复。418 收藏 -
Go errors.As 匹配自定义错误时,目标变量的值类型、指针类型和地址层级必须与错误的动态类型一致。本文用包装错误示例说明为什么拿不到值,以及如何排查 nil 指针和类型错配。418 收藏 -
Go 的 html/template.ParseFS 可以直接从 embed.FS 加载模板,但嵌入路径、模板匹配和执行错误各有边界。本文用一个可运行的页面渲染例子拆开加载、执行、错误定位与发布验收。417 收藏 -
Go runtime/metrics.Read 适合把一组运行时指标一次性读入复用的 Sample 切片。本文从 metrics.All 获取描述符,演示样本缓冲、ValueKind 类型分支、未知指标处理与并发读取边界,帮助你写出不会误读数值的采集代码。417 收藏 -
Go select 在多个通信操作同时就绪时不会按 case 顺序提供业务优先级,而是选择一个可执行通信。本文用高价值、普通和后台三类通道说明非阻塞探测、处理预算、关闭边界与防饥饿设计。417 收藏 -
解释 Go generate 环境变量替换与参数边界的关系,说明带空格值、多个独立参数、字面美元符号和空变量的可靠写法。417 收藏 -
slices.SortStableFunc 并不会替你修正比较函数。本文从负、零、正返回值、相等元素保序和严格弱序三个边界,说明怎样写出可检查的稳定排序比较器。416 收藏 -
Go 1.23 引入的 slices.Collect 会把 iter.Seq 收集为新切片,但空序列返回 nil,容量也不是 API 承诺。本文拆开 nilness、容量、元素别名和重复消费边界,给出稳定测试写法。416 收藏 -
Go 使用 crypto/ed25519 验证带上下文的签名时,要让 message、Options.Context 和 PublicKey 在两端保持一致。本文用规范化消息和 VerifyWithOptions 示例说明常见失败原因。416 收藏