Go教程技术文章
-
Go 处理土耳其语大写时,不要把语言规则简化为 ASCII 替换。使用 x/text/cases 的 Upper(language.Turkish),即可按土耳其语处理点号 I 和无点 I;本文同时说明 String、Bytes、流式转换和 Caser 并发边界。374 收藏 -
Golang · Go教程 | 6天前 | Go教程 · 模块管理 · Go 离线构建 go.work go mod vendor vendor/modules.txt go work vendor Go工作区
Go work vendor 适合为 go.work 定义的多模块工作区生成共享 vendor 依赖目录。本文说明工作区边界确认、vendor 生成、离线构建入口以及 go.work、go.mod 与 vendor/modules.txt 的一致性排查,并区分 go work vendor 与 go mod vendor 的适用场景。374 收藏 -
Go os.Getenv 在变量未设置和已设置为空字符串时都会返回空字符串;os.LookupEnv 通过第二个布尔值保留存在性信息。本文用配置流水线说明两者的判断边界、默认值策略和错误处理写法。373 收藏 -
区分 Go ByteOrder 与 AppendByteOrder,展示定长整数追加、字节序选择和返回切片的正确用法,说明容量及共享数组的边界。373 收藏 -
比较 Go 文件错误直接返回、文本转换、%w 包装与 errors.Join,给出保留写入和关闭错误的示例,并说明 errors.Is、errors.As 及资源清理的使用边界。373 收藏 -
Go 基准测试的计时控制实际位于 testing.B。本文用 B.Loop、StopTimer、StartTimer 和 ResetTimer 排除输入准备成本,并说明并行基准的限制。372 收藏 -
用 go.work 和 use 组织多个 Go 模块的本地联调,并通过 GOWORK=off 完成发布前的独立校验。372 收藏 -
Go ResponseController 统一刷新、读写期限等可选能力的调用入口。通过中间件 Unwrap、ErrNotSupported 分流和有限响应示例,说明接口边界、失败处理及改造前后的测量方法。372 收藏 -
Go bytes.Reader 读取一部分内容后,可以用 Seek 回到开头、已保存的位置或相对偏移。本文用 io.SeekStart、io.SeekCurrent 和 io.SeekEnd 说明重复读取写法,并处理负位置、越过末尾和非法 whence。372 收藏 -
Go multipart.Reader.NextPart 适合边读取边处理 multipart 请求体。本文说明如何解析 boundary、逐段区分普通字段和文件字段、正确处理 io.EOF,并用流式复制与文件名边界避免大文件一次性进入内存。372 收藏 -
Go strconv.AppendQuote 可以把字符串以带引号的转义形式追加到已有 []byte。本文从容量预算、Quote 对比、控制字符和无效 UTF-8 边界出发,给出低分配写法与 Benchmark 记录方法。372 收藏 -
Go strconv.AppendQuoteRuneToASCII 可以把单个 rune 追加为带单引号的 ASCII Go 字符字面量。本文说明如何接住返回切片、处理非 ASCII 转义,并区分它与 QuoteRune、AppendQuoteRune 等相邻 API。372 收藏 -
Go log/slog 的 Attr.Equal 可以按键和值判断两个结构化字段是否一致。本文用测试和 Handler 场景说明普通值、分组值、动态 LogValuer 与零值属性的比较边界。371 收藏 -
Go 的 time.Date 遇到夏令时重复或缺失的当地钟点时,不保证选择哪一侧时区。本文区分墙上时间与绝对时刻,说明如何显式保留偏移、制定消歧策略,并避免把规范化结果误当成用户意图。371 收藏 -
Golang · Go教程 | 2星期前 | 错误处理 · 模板 · Go教程 · html/template · 模板渲染 Go html/template missingkey 模板缺失字段 Execute错误
Go html/template 默认可能把 map 缺失键继续渲染,开发阶段容易把数据问题藏到页面里。本文比较 missingkey=default、zero、error 的差异,给出严格配置位置、Execute 错误处理和环境选择方法。371 收藏