Go教程技术文章
-
Go bytes.TrimSpace 会按 Unicode 空白规则去掉字节切片首尾的空白,并保留中间内容。本文说明最小写法、空结果、返回子切片的共享存储边界,以及与 bytes.Trim 等函数的选择。201 收藏 -
Go sort.Find 用二分查找返回有序数据中第一个满足比较条件的位置,并通过 found 区分是否精确命中。本文从三态比较函数、重复值、未找到边界和结构体切片几个场景说明怎样写对。187 收藏 -
Go archive/zip.File.OpenRaw 返回 ZIP 条目中未解压的原始数据。本文区分 Open 与 OpenRaw,说明如何根据压缩方法读取原始字节,并介绍原样复制条目时使用 Writer.Copy 的边界。112 收藏 -
Go os.CreateTemp 可以用随机文件名安全创建临时文件,但关闭文件和删除路径仍由调用方负责。本文说明目录参数、星号模式、扩展名保留、错误处理,以及单文件和临时目录的选择。365 收藏 -
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教程 | 1天前 | 标准库 · 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教程 | 1天前 | 标准库 · 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 收藏