Go语言技术文章
-
flag.FlagSet.Visit 只遍历用户实际设置过的参数,VisitAll 则按字典序遍历全部已注册参数。通过一个可运行的小实验看清两者的回调范围、默认值和适用场景。163 收藏 -
解释 Go regexp.MustCompile 与 regexp.Compile 在配置加载中的边界:哪些规则适合启动即失败,哪些输入必须保留运行时错误,并给出可验证的代码写法。210 收藏 -
fs.WalkDir 面向抽象文件系统,filepath.WalkDir 面向本机文件路径;两者共享 DirEntry 回调,却在路径格式、数据来源和测试方式上有关键差异。本文用同一项目录扫描任务拆开选择边界,并给出可验证的代码写法。143 收藏 -
Golang · Go问答 | 5天前 | 标准库 · go · Context · HTTP服务 · 连接管理 · Go net/http context 连接生命周期 Server.ConnContext
Server.ConnContext 只在新连接建立时修改连接级上下文,之后同一连接上的请求会继承它。本文用最小 HTTP 服务追踪 BaseContext、ConnContext、Handler 的调用顺序,并说明连接复用、HTTP/2 与清理逻辑的边界。498 收藏 -
OpenAI披露2026年7月Hugging Face相关安全事件后,开发团队真正需要复盘的不是某个模型会不会越界,而是沙箱、联网出口和凭据边界是否被当成了同一个开关。本文拆解事件公开信息,并给出一套可落地的隔离检查清单。298 收藏 -
bufio.Reader.Peek 返回的是内部缓冲区视图,下一次读操作后就可能失效。本文用一个协议头判断场景说明 Peek、Read、copy 和 ErrBufferFull 的边界。169 收藏 -
Go 的 os.File.Chmod 并不是跨平台等价的权限开关:Unix 会使用权限位及特殊模式位,Windows 当前只看 0o200 来切换只读属性。本文用同一段代码拆开模式位、符号链接和平台边界,给出可验证的写法。112 收藏 -
Go 反射处理结构体元数据时,可以用 reflect.Type.Fields 按声明顺序遍历 StructField,再通过 Tag.Lookup 读取标签;需要同时拿到字段值时使用 reflect.Value.Fields。本文从字段扫描、标签校验到嵌套结构体边界给出可运行示例。283 收藏 -
Go 1.22 引入的 Request.PathValue 不是从 URL.Path 里随便切字符串,而是读取 ServeMux 匹配结果中的命名通配符。本文用最小路由示例核对普通通配符、{name...}、未匹配请求、URL 解码和 SetPathValue 的边界。470 收藏 -
Redis ZMPOP 可以从一个或多个 Sorted Set 中按 MIN 或 MAX 批量弹出成员。本文用 priority:tasks 任务队列说明 COUNT、同分值排序、多个键的选择顺序,以及空集合返回值和并发消费边界。403 收藏 -
Go 的 net/http.MaxBytesReader 不只是一个 io.LimitReader:它返回可关闭的请求体,超限读取会得到 MaxBytesError,并可提示服务器关闭连接。本文用上传接口拆开限制位置、错误判断和连接处理边界。224 收藏 -
Golang · Go问答 | 5天前 | 密码学 · Go问答 · 安全编程 · crypto/subtle · Go crypto/subtle ConstantTimeSelect 固定时间 侧信道
crypto/subtle.ConstantTimeSelect 只接受 0 或 1,并在两个候选整数之间做固定时间选择。本文用 ConstantTimeEq 生成选择值,解释它适合保护什么、不能替代哪些安全边界,以及如何用测试核对结果。433 收藏 -
围绕雨后玻璃温室里的青柠藤影,制作一张适合手机锁屏的竖屏壁纸,并提供明显不同的冷色变体、中英文提示词与可调整参数。396 收藏 -
bytes.FieldsSeq 从 Go 1.24 开始提供按 Unicode 空白切分字节串的单次迭代器。本文对比 bytes.Fields,解释 subslice、空白边界、迭代提前停止和底层字节切片生命周期。348 收藏 -
通过一个批量更新表单行的例子,拆解强制同步布局为何发生,以及如何把尺寸读取与 DOM 写入分开,再用 requestAnimationFrame 合并一帧内的更新。406 收藏