Go语言技术文章
-
Go 1.27 调整了 go tool trace -http 只写端口时的默认监听范围。本文说明 :6060、localhost、127.0.0.1 和 0.0.0.0 的区别,并给出远程查看时更稳妥的 SSH 端口转发写法。279 收藏 -
Go 1.27 的 go test -json 会为 output 事件补充 OutputType。本文说明如何区分普通输出、frame、error 和 error-continue,并用 Go 按行消费交错的测试 JSON 事件。458 收藏 -
Go 1.27 对声明 go 1.27 及以上的模块合并零散 require 块。本文区分布局、indirect 与依赖版本变化,说明注释保留、工具链范围和团队接纳方式,避免把正常整理误判成升级。463 收藏 -
用 expvar.Func 和自定义 Handler 暴露只读运行指标,说明 GET 访问边界、动态计算、路由隔离、命名冲突与数据安全。158 收藏 -
Go 使用 utf8.RuneCountInString 统计 rune,而 len 返回字节数。本文通过中文、emoji 和组合字符说明差异,提供带字节上限、UTF-8 判断及 rune 上限的入口处理示例。262 收藏 -
Go regexp 的 LiteralPrefix 会返回任何匹配必须以其开头的字面量前缀,以及该前缀是否已经覆盖整个正则。本文用几个模式说明如何读取这两个返回值、做候选预筛选,并避开把前缀误当成完整匹配的常见误区。367 收藏 -
Go path.Match 用 shell 风格通配符判断完整资源名,星号和问号不会跨过斜杠。本文说明 path 与 filepath 的边界、完整匹配规则、ErrBadPattern 处理和资源名筛选的落地清单。300 收藏 -
Go regexp.Regexp.AppendText 会把正则表达式文本追加到已有字节缓冲区,输出等同于 String,但不会记录 CompilePOSIX 或 Longest 等改变匹配语义的设置。本文说明缓冲区复用、返回值和可恢复配置的边界。454 收藏 -
Go os.File.Chmod 用 FileMode 更新已有文件的权限位。本文从打开与创建的边界出发,说明 0o600、0o640 的写法、错误处理、修改后读取和 Unix、Windows 差异。195 收藏 -
Go reflect 中,IsValid 判断 Value 是否有效,IsZero 判断有效值是否为其类型的零值。本文用字段查找、nil 接口和指针示例说明两者的调用顺序与 panic 边界。311 收藏 -
Go text/template 可通过 FuncMap 注册返回值与 error 的函数。本文结合状态报告示例说明注册顺序、Execute 错误链、缓冲输出和兼容处理,避免把半成品报告交付给调用方。490 收藏 -
Go http.Request.Write 会把 Request 的请求行、请求头和请求体写成 HTTP/1.1 报文。本文用缓冲区示例说明 URL、Host、Content-Length、分块传输、Body 关闭,以及普通写出和代理写出的区别。442 收藏 -
Go encoding/hex NewEncoder 返回一个 io.Writer,适合把网络、文件或协议分片连续编码成小写十六进制文本。本文说明 Writer 链、Write 返回值、下游错误和一次性编码 API 的选择边界。217 收藏 -
Go bytes.FieldsFuncSeq 接收自定义 rune 判断函数,返回按规则切出的非空字节子切片迭代器。本文说明自定义分隔规则、与 FieldsFunc 的关系、提前停止消费以及输入切片别名边界。350 收藏 -
Go strconv.AppendQuoteToASCII 会把字符串追加成带双引号的 Go 字符串字面量,并把非 ASCII 字符转成 ASCII 转义。本文用最小示例说明已有 []byte 的追加方式、控制字符处理、返回切片边界,以及它与 Quote、AppendQuote 的取舍。360 收藏