Go语言技术文章
-
Go regexp.Compile 会在解析阶段返回无效正则的错误。本文用一个规则加载器说明如何提前编译、保留错误上下文,并区分 Compile、MustCompile 与后续匹配校验。153 收藏 -
Go 的 url.Values 用 map[string][]string 表示查询参数:Add 追加同名值,Set 替换全部旧值,Get 只取第一个,Encode 按键排序并保留每个键的值顺序。本文用请求、签名和边界检查示例说明怎样稳定输出重复查询参数。425 收藏 -
介绍Go httptrace识别连接复用的方法,区分Reused、WasIdle与IdleTime,通过共享Transport示例说明HTTP/2、响应体和并发回调的观察边界。494 收藏 -
Go iter.Pull2 把返回键值对的 iter.Seq2 转成 next 和 stop 两个函数,适合逐项拉取、限量读取和提前退出。本文用 maps.All 说明结束信号、defer stop、零值返回以及并发调用边界。326 收藏 -
Go net/url.URL 修改路径时,直接重建整条 URL 容易丢掉查询参数和片段。本文区分 Path、RawPath 与 RawQuery,说明怎样用 Path、JoinPath 以及 Query 安全更新路径和参数。455 收藏 -
Go maphash.Bytes 可以直接把 []byte 映射为 uint64 哈希值。本文说明 MakeSeed 与 Seed 复用、Bytes 和 Hash.Write 的关系,以及进程边界和密码学用途限制。478 收藏 -
Go http.ServeFileFS 用 fs.FS 提供文件或目录响应,适合把 embed.FS 等抽象文件系统接到 HTTP 服务。本文从旧的 ServeFile 路径写法迁移到 fs.Sub 与 ServeFileFS,说明 name、io.Seeker、用户输入和 index.html 重定向等边界。324 收藏 -
Golang · Go教程 | 2天前 | 标准库 · HTTP服务 · Go教程 · Go net/http X-Forwarded-For http.Request RemoteAddr Forwarded 客户端地址
Go 的 http.Request.RemoteAddr 只能表示当前 Go 服务看到的 TCP 对端;部署在反向代理后时,客户端地址通常来自代理转发头,但必须先确认代理可信。本文给出可复用的解析函数、IPv6 处理和日志边界。393 收藏 -
Go log/slog 不会替业务字段自动排序。本文用固定属性切片、动态键排序、With 与 Group 的边界,说明怎样让 TextHandler 和 JSONHandler 的日志字段保持可预测顺序。448 收藏 -
Golang · Go教程 | 2天前 | 标准库 · https · TLS · Go教程 · tls Go 证书 crypto/x509 Certificate VerifyHostname 主机名校验
Go 的 Certificate.VerifyHostname 专门判断证书是否匹配给定主机名:DNS 名称看 DNSNames,IP 看 IPAddresses,通配符只能作为完整左侧标签,旧 Common Name 不再参与判断。本文说明它和证书链验证的边界,并给出可复用的错误处理写法。298 收藏 -
用 slog.HandlerOptions.Level 过滤 DEBUG 日志,并用 slog.LevelVar 在运行时切换最低级别,掌握默认 Logger、Enabled 和多 Handler 的边界。183 收藏 -
Go fmt.Errorf 通过 %w 同时保留任务上下文与错误原因,调用方使用 errors.Is 和 errors.As 判断类别并提取详情。结合配置解析示例说明多层包装、多原因与 nil 的边界。225 收藏 -
Go url.PathEscape 用于编码单个 URL 路径片段,不是整条 URL 或查询参数的通用编码器。本文结合动态资源标识、斜杠和空格等字符,说明 PathEscape 的使用位置,并比较 QueryEscape 与 url.URL 的选择边界。490 收藏 -
Go bufio.Reader.Reset 会丢弃已有缓冲、重置读取状态并切换到底层 io.Reader,适合在批量处理多段输入时复用 Reader 对象。本文用字符串和文件场景说明复用方式、资源关闭责任、零值初始化、自身 Reset 以及旧缓冲数据的边界。249 收藏 -
Go encoding/binary.Decode 适合把固定布局的字节切片按 LittleEndian 或 BigEndian 解析到结构体。本文说明字段限制、返回字节数、缓冲区不足,以及 Decode、Read、Encode 的选择。175 收藏