Go教程技术文章
-
Go 的 url.JoinPath 适合在已有 URL 上拼接路径段并清理多余斜杠、点段,同时保留 base 中的查询参数和片段。本文说明路径段转义、错误处理、URL.JoinPath 选择和常见边界。489 收藏 -
Go embed 会把目录连同前缀嵌入 embed.FS。本文用 fs.Sub 切出指定子目录,说明如何交给 fs.FS 消费者,以及遇到路径错误时怎样按根目录、斜杠和错误处理逐层排查。488 收藏 -
Go 交叉编译时,CGO_ENABLED 不能单独决定结果。本文按纯 Go 与依赖 C 编译器两种场景,整理 GOOS、GOARCH、CGO_ENABLED、CC 的配置关系,并给出产物格式和动态依赖的检查清单。488 收藏 -
Go math/bits.OnesCount64 接收 uint64 并返回其中 1 bit 的数量。本文用位掩码示例说明调用方式、返回值和零值、全 1 值及输入类型选择。488 收藏 -
围绕 io/fs.ValidPath 说明 FS.Open 名称的相对路径规则、根路径语义、斜杠边界和自定义文件系统的入口检查方式。488 收藏 -
Go time.Time.AppendFormat 会把时间按 layout 追加到已有字节切片。本文用 -07:00、Z07:00 和 RFC3339 说明时区偏移布局、Location 来源、UTC 的 Z 表示以及常见误区。488 收藏 -
介绍 go/build/constraint.GoVersion 如何从构建表达式推导最低 Go 版本,解释与、或、非、空字符串和非 SAT 结构分析边界,并给出可复用的 Go 示例。488 收藏 -
Go 交叉编译时,纯 Go 项目可以通过 CGO_ENABLED=0 关闭 cgo,再用 GOOS 和 GOARCH 选择目标平台。本文从构建命令、go env 检查、cgo 构建约束和纯 Go 替代实现四个方面说明可执行做法与依赖边界。487 收藏 -
Go 使用 golang.org/x/text/encoding/simplifiedchinese 处理 GB18030 四字节字符,关键是用 GB18030 的 Decoder 与 Encoder 在 UTF-8 和旧编码字节之间转换,并区分解码替换字符与编码不可表示错误。487 收藏 -
Go go-chart 的图例文字来自序列的 Name 字段。本文用多个 ContinuousSeries 组成 Chart.Series,再把 chart.Legend 加入 Chart.Elements,说明 Legend、LegendLeft、LegendThin 的选择,以及 PNG 或 SVG 渲染时常见的空图例问题。487 收藏 -
Golang · Go教程 | 1星期前 | 标准库 · JSON · go · encoding/json · Go bytes.Buffer Prefix json.Indent JSON格式化 indent
Go json.Indent 会把已有 JSON 字节按对象和数组层级排版到 bytes.Buffer。本文区分 prefix、indent、字符串内容与输入空白边界,并说明何时应改用 json.MarshalIndent。487 收藏 -
用 bytes.Buffer 的写入、读取、Grow 和 Reset 场景区分 Cap 的底层总容量与 Len 的当前未读长度,说明预分配、复用和内存排查时各自应该看什么。487 收藏 -
使用 FileInfoHeader、SetMode、Modified 和 CreateHeader 保存 ZIP 条目名称、权限与修改时间,给出普通文件归档示例,并说明头所有权、关闭错误与跨平台恢复边界。487 收藏 -
Go 测试中的多个 t.Cleanup 按后注册先调用执行。结合临时目录、文件句柄与并行子测试,说明怎样按依赖登记清理、选择父子测试作用域,以及与 defer 的区别。487 收藏 -
sync.Pool 适合复用可丢弃的临时对象,但不保证对象长期留在池里。本文从 GC 周期、victim cache、Get/New 边界和实际代码说明对象为什么会消失,以及哪些场景不该依赖 Pool。486 收藏