Go教程技术文章
-
Go 的随机定位能力不是所有 Reader 都具备。本文用 io.Seeker 和 ReadSeeker 讲清接口断言、SeekStart/SeekCurrent/SeekEnd、返回偏移、越界与资源关闭边界,并给出不支持定位时的降级策略。355 收藏 -
通过完整 Go SFTP 上传函数说明同目录临时文件、写入和关闭错误处理、POSIX 重命名及覆盖策略,并区分名称交接、持久化和消费确认,处理响应中断后的不确定结果。355 收藏 -
Go 的 net/url.URL.Redacted 只会把 URL.User 中的密码替换为 xxxxx。本文说明如何区分 Userinfo 与查询参数,把脱敏固定到日志出口,并处理解析失败、无密码和 token 参数等边界。354 收藏 -
本文用一个目录摘要工具串起 filepath.WalkDir 的输入边界、目录过滤、普通文件统计、遍历错误和大文件排序,帮助你把标准库 API 组合成可维护的 Go 命令行程序。354 收藏 -
介绍 Go scanner.ErrorList.RemoveMultiples 的排序和按行去重语义,说明如何保留完整原始诊断、生成一条一行的展示结果,以及无效位置和原地切片修改的边界。354 收藏 -
本文用 Go debug/macho 读取 Mach-O 的 Dysymtab.IndirectSyms,说明它与 Symtab.Syms 的索引关系,并给出处理缺少表、空表和越界索引的只读示例。354 收藏 -
Go sync.RWMutex.TryRLock 会立即尝试取得读锁,失败时直接返回 false,不会等待。本文说明它适合机会性读取和软降级的场景,以及失败分支、RUnlock 和关键数据一致性的边界。353 收藏 -
Lumberjack主动轮转成功后,原日志器可以继续通过同一实例写入新活动文件。本文提供完整Go示例,说明对象与句柄关系、并发协调、上层缓冲、轮转失败和后台归档的边界。353 收藏 -
用 Go 的 httptrace.ClientTrace 记录 DNS、连接、TLS、写请求和响应首字节时间,区分连接复用与新建连接,定位一次 HTTP 请求到底慢在哪个阶段。352 收藏 -
Go encoding/json.Encoder.Encode 会省略 JSON 内部无意义空白,但每次编码后固定追加一个换行。本文按单体接口、连续 JSON 流和可读调试三种场景,说明 Marshal、Encoder、TrimSuffix 与 SetIndent 的选择。352 收藏 -
Go HTTP 服务端怎样把 gzip 放到响应边界、正确处理 Content-Encoding 和 Vary,并在流式输出时同时刷新 gzip.Writer 与 HTTP 输出层。352 收藏 -
Go html/template 会根据动作所在的 HTML 上下文自动转义 URL。本文区分普通 string、template.URL 与 #ZgotmplZ,说明如何识别 URL 边界并安全地建立受信任类型。352 收藏 -
用 Go x/text/encoding/korean 的 EUCKR.NewEncoder 把 UTF-8 韩文转换为 EUC-KR 字节,说明 String、Bytes、Writer 的使用方式与不支持字符的错误边界。352 收藏 -
Go html/template 的 Delims 可以在解析前切换模板动作分隔符。本文用 [[ ]] 示例说明设置时机、Parse 与 Execute 的边界、旧语法表现和多模板集合的处理方式。352 收藏 -
Go 的 strconv 转换失败会返回 *strconv.NumError。本文用 errors.Is 区分 ErrSyntax 与 ErrRange,再用 errors.As 读取 Func、Num 和 Err,说明如何在接口或配置入口保留错误原因。352 收藏