Go教程技术文章
-
讲清 Go slices.Chunk 的固定大小切分、底层数组别名、cap 裁剪、append 行为,以及何时应该用 slices.Clone 保存独立批次。234 收藏 -
用 Go image/draw 按目标尺寸计算居中裁剪框,再将源图区域复制到缩略图画布,并排查边界、偏移与合成模式问题。234 收藏 -
Go fuzzing 不可重复,通常不是随机输入本身的问题,而是 fuzz target 读了真实时间、共享状态或不可控外部依赖。本文用依赖接口、Fake 实现、固定种子和失败语料目录,整理出可重复运行的 Go 模糊测试结构。232 收藏 -
Go 反射通过 FieldByName 读取同名嵌入字段时,多个路径无法唯一消歧会返回无效 Value。本文演示如何检查 IsValid、改用 FieldByIndex,并处理 nil 嵌入指针。232 收藏 -
Go 的 image.Decode 会根据已注册的解码器识别 PNG 或 JPEG。本文给出空白导入、格式返回、尺寸预检和文件位置复位的最小写法。231 收藏 -
Go 使用 archive/tar 解包时,先用 filepath.IsLocal 限制归档成员名,再区分目录、普通文件和链接条目,避免路径穿越与越界写入。230 收藏 -
Go sync.Map.Swap 会原子替换键对应的值,并用 loaded 返回值告诉你键此前是否存在。本文用并发状态更新场景说明如何识别首次写入,为什么不要用先 Load 再 Store 代替,以及怎样把返回值接入审计和保护逻辑。230 收藏 -
Go TLS 通过 tls.Config.NextProtos 声明 ALPN 应用层协议候选,再用 ConnectionState.NegotiatedProtocol 读取实际协商结果。本文说明客户端、服务端配置,以及匹配、空结果和不兼容边界。230 收藏 -
Go 1.23 的 slices.Chunk 能按固定上限惰性产出连续子切片。本文用批量写入场景说明最后一组、空输入、非法大小、错误返回和底层数组共享,并给出可观察的工程封装。229 收藏 -
讲清 Go sync.OnceValues 如何把初始化返回值与 error 一起缓存,说明并发调用、失败复用、panic 复用和不可重试边界。229 收藏 -
Go huh 的可访问模式会放弃 Bubble Tea 的 TUI 重绘,改用更适合屏幕阅读器、CI 和脚本输入的普通终端提示。本文说明如何通过环境变量、Reader、Writer 和字段校验配置一份可复用的表单。228 收藏 -
Go 的 time.FixedZone 适合固定 UTC 偏移,time.LoadLocation 适合带 IANA 规则的地区时区。本文用创建、转换和格式化示例说明两者边界。227 收藏 -
Golang · Go教程 | 1天前 | 标准库 · HTTP · go · Cookie · net/http raw Set-Cookie Go Cookie ParseSetCookie RawExpires
Go 的 net/http.Cookie 同时提供 Raw、RawExpires、结构化属性和 Unparsed。本文围绕 Set-Cookie 解析差异,说明怎样保存原始属性字符串、怎样用字段级指标回归,以及为什么 Cookie.String 不能替代原文透传。226 收藏 -
io/fs 使用斜杠分隔的虚拟路径,而本地文件 API 服从操作系统规则。本文拆开 fs.ValidPath、filepath.Localize 和 filepath.FromSlash 的职责,给出可复用的跨平台转换写法。224 收藏 -
Bubble Tea 中不要让耗时查询直接阻塞 Update,而是把查询封装成 tea.Cmd,在完成后返回带数据或错误的自定义 Msg,再由 Update 统一更新模型。本文还说明如何用请求序号丢弃过期结果。224 收藏