Go教程技术文章
-
Go time.Time.Compare 返回 -1、0、1,适合把两个时间点的先后关系统一接入排序和状态判断。本文说明返回值、与 Before/After/Equal 的选择、排序回调以及零值和单调时钟边界。252 收藏 -
Go HTTP/1 处理器默认会先消费未读请求体,再开始写响应。本文用 ResponseController.EnableFullDuplex 说明如何在同一处理器中按块读取请求并持续写出响应,以及不支持、刷新和错误处理的边界。460 收藏 -
Go time.Time.AddDate 按日历字段移动日期,不等于固定增加若干小时。本文解释跨月归一化、Location 与夏令时造成的时长差异,并给出 Add 与 AddDate 的选择边界和回归检查思路。164 收藏 -
Go time.ParseInLocation 可通过有限布局列表兼容 RFC3339、本地日期时间与日期。本文给出显式默认时区、匹配标签和错误返回的原创接口,并说明小数秒、日期语义及时间戳的适用范围。197 收藏 -
Go time.Time 默认通过 MarshalJSON 输出带引号的 RFC 3339 时间字符串,并保留有意义的子秒精度。本文说明纳秒尾随零、时区偏移、Location 名称、单调时钟、零值和错误边界,帮助接口设计避免误判精度丢失。176 收藏 -
Go time.Time.Weekday() 返回星期值,Weekday.String() 可直接得到英文名称;如果界面需要中文,应保留星期值并在展示层显式映射。本文给出最小写法、零值与时区边界,以及 API 返回结构的选择建议。251 收藏 -
Go time.Ticker 的 tick 不是可靠事件队列,接收方变慢时可能被调整或丢弃。本文说明如何定位高频消费过慢,并按最新状态、全部事件和退出清理选择合适方案。159 收藏 -
解释 Go time.Ticker 停止后为什么不能自动清理消费 goroutine,并给出用 context.Done 协作退出、用 defer Stop 收尾 ticker 的实用写法。404 收藏 -
Go filepath.Rel 在 Windows 上已支持盘符与 UNC 共享卷名。本文用完整绝对路径封装说明同卷计算、跨卷错误、盘符相对路径与 Linux 处理 Windows 路径文本的区别。319 收藏 -
Go filepath.Clean 负责词法归一化,filepath.Rel 负责计算相对路径。本文把两者组合成根目录校验函数,处理 .. 越界、根目录本身、绝对路径和符号链接边界。172 收藏 -
Go filepath.Rel 只能在目标系统能够相对化的路径之间计算结果。本文解释 Windows 盘符与 UNC 共享根不一致时为什么报错,给出卷名预判、跨平台测试和迁移方案选择。458 收藏 -
Go io.ReadFull 会尽力读满固定长度的缓冲区。本文区分完整读取、起始 EOF 和半帧 ErrUnexpectedEOF,并给出定长消息封装写法。387 收藏 -
Go filepath.Match 的反斜杠规则会随操作系统变化:Unix 类系统把 \c 当作对字符 c 的转义,Windows 则把反斜杠当作路径分隔符。本文用最小示例说明通配符、完整匹配、ErrBadPattern 和跨平台写法。156 收藏 -
Go net/url 用 url.Values 保存重复查询键的多个值。本文说明 ParseQuery、Get、Add、Set、Del 和 Encode 的差异,帮助你在多选参数与唯一参数之间做出正确选择。137 收藏 -
Go compress/gzip Writer 的 Write 可能把错误留在压缩过程或 Close 收口阶段。本文用错误分层、临时文件和原子提交说明如何丢弃半成品、保留根因并安全清理底层资源。468 收藏