Go教程技术文章
-
Go text/template 的 break 只能结束最内层 range。本文用一个紧凑示例说明如何在命中条件后停止模板输出,并区分 break、continue、else 与嵌套 range 的控制边界。342 收藏 -
Go jsontext.Decoder 可以把 JSON 当作 token 流读取,不必先反序列化成 Go 对象。本文从语法层和对象层的区别讲起,演示 ReadToken、PeekKind、ReadValue、输入偏移量和嵌套边界的使用,说明流式筛选时如何控制读取粒度与错误处理。342 收藏 -
Go compress/zlib.Reset 可以在保持压缩级别和字典配置的前提下切换输出写入器,适合批量处理多个独立数据块。本文说明 Close、Flush、Reset 的边界,以及 bytes.Buffer 结果复制与所有权管理方法。342 收藏 -
Go 1.22+ 的 net/http.ServeMux 可以把 HTTP 方法、路径通配符和参数提取直接写进路由模式。本文用一个小型文章接口说明 GET/HEAD、PathValue、剩余路径、优先级与尾斜杠边界。341 收藏 -
Go maphash.Hash 的零值会自行选择随机种子,测试或并发计算需要显式共享 Seed,再为每个计算者创建独立 Hash。本文说明 MakeSeed、SetSeed、Reset 的关系,以及 maphash 不适合密码摘要和持久化协议值的边界。341 收藏 -
Go 生成登录链接、一次性令牌或接口随机值时,应让 crypto/rand.Reader 填充固定长度的字节缓冲,再按传输场景编码。本文解释字节长度、Read 错误、RawURLEncoding 和边界处理。341 收藏 -
Go archive/zip.Writer.Copy 能把已有 ZIP 条目的 raw form 直接搬到新归档,避免未修改内容重复解压和压缩。本文给出重打包示例,并划清 Copy、CreateHeader、CreateRaw 与 Writer.Close 的使用边界。341 收藏 -
Go embed.FS 可以把模板目录编译进程序,再以 fs.FS 的方式交给 ReadFile、ReadDir 和 template.ParseFS。本文从目录布局开始,给出一个可复用的最小示例,并说明路径、匹配规则、错误处理和只读边界。341 收藏 -
Go tcell 处理键盘事件时,用 Key() 区分 KeyRune 与命名功能键,再用 Str() 读取普通字符;本文补充 Ctrl、Shift-Tab 和终端协议的兼容边界。340 收藏 -
介绍Goja注册Go回调函数的两种写法,使用完整示例说明参数转换、原生FunctionCall、脚本异常接收和运行时并发限制。340 收藏 -
Go 使用 atomic.Uint64 累计独立事件时,需要统一 Add 与 Load 访问并共享对象指针。本文用完整示例说明快照、任务结束、禁止复制及64位对齐,并划清溢出、热点竞争和多字段一致性的边界。340 收藏 -
Go 的 time.Time 既能表示墙上时钟,也可能携带进程内单调时钟。本文用一组最小写法说明 Before、After、Equal、Compare、Sub 的分工,以及序列化、时区转换、== 比较和机器休眠时的边界。340 收藏 -
Go unique.Handle 适合把可比较值规范化后用于快速比较。本文从字符串键的空输入和解析错误出发,说明 unique.Make、Handle 比较、Value 取回与生命周期边界,避免把错误值混进句柄逻辑。340 收藏 -
Go 模糊测试发现失败输入后,不要把 crash artifact 当作临时文件删除。本文以 FuzzParse 为例,说明如何定位 testdata/fuzz 语料、用 -run 精确复现,并让修复后的失败输入长期成为默认回归测试。339 收藏 -
介绍 Go 1.27 自定义连接的 TLS ALPN 状态接口,以连接包装器和完整握手示例说明真实状态转发、HTTP 协议配置及客户端与服务端的适用边界。339 收藏