Go语言技术文章
-
Golang · Go教程 | 2天前 | 标准库 · Go教程 · net/http · Go net/http http/2 ResponseController Hijack ErrNotSupported HTTP/1.x
Go ResponseController.Hijack 需要按调用结果判断当前 ResponseWriter 是否支持连接接管。本文区分 HTTP/1.x、HTTP/2 与包装器能力,说明 ErrNotSupported 的降级处理,以及接管后 net.Conn、缓冲读写器和 Request.Body 的责任边界。176 收藏 -
Go slog.Logger.Enabled 可以在日志级别判断阶段提前返回,避免为不会输出的日志构造昂贵参数。本文用最小示例说明 HandlerOptions.Level、Enabled、LogAttrs 与 LogValuer 的配合边界。105 收藏 -
Go mime.ParseMediaType 可以把 Content-Type 或 Content-Disposition 拆成规范化媒体类型、参数 map 和 error。本文说明 charset、boundary、引号参数、参数缺失与格式错误的处理边界。216 收藏 -
介绍Go fs.WalkDir遍历embed.FS并读取正文的方法,通过完整示例说明子树路径、回调错误和SkipDir,分析资源内嵌的部署收益与更新边界。144 收藏 -
介绍 Go os/exec 中 Env 为 nil、继承后追加变量和白名单隔离三种写法,说明重复键、PATH、shell 与跨平台边界。209 收藏 -
Go os/exec 的 Cmd.ProcessState 只能在子进程成功启动并完成 Run 或 Wait 后读取。本文比较 Run 与 Start 加 Wait,说明怎样区分启动错误、非零退出和成功退出,并用 ExitCode、Success、Exited 处理状态边界。363 收藏 -
Go os.Args 判断缺少命令参数时,应先检查 len(os.Args) 是否小于所需参数数量,再访问对应下标。本文说明程序名与位置参数的关系,区分缺少参数和空字符串,并介绍何时交给 flag 解析选项。200 收藏 -
Go os/exec.Cmd.ExtraFiles 可以把父进程已打开的文件交给子进程。本文用一个父子进程示例说明 ExtraFiles[0] 如何对应文件描述符 3、启动前后的关闭边界,以及 Windows 不适用时该怎么判断。148 收藏 -
Go strconv.ParseBool 只接受固定的 1、t、true、0、f、false 等布尔文本,yes/no、on/off 和带空格的输入需要业务层先明确处理。本文从配置、环境变量和表单输入三个场景说明如何检查 error、区分 false 与解析失败,并用适配函数扩展业务别名。394 收藏 -
介绍Go strconv.Quote生成可复制字符串字面量的写法,通过特殊字符与Unquote示例区分值和展示层,补充ASCII输出、缓冲追加及目标语法边界。263 收藏 -
在 Go 中反复把字节编码为十六进制文本时,可以用 hex.EncodedLen 计算容量,再用 hex.Encode 或 hex.AppendEncode 复用目标缓冲区。本文说明 len、cap、dst[:0] 和多段追加的正确关系。198 收藏 -
围绕协议兼容、CRC32C 与流式更新,说明 Go hash/crc32 中 IEEE、Castagnoli、Koopman 和自定义校验表的选择方法。204 收藏 -
介绍Go image/color在RGBA与NRGBA间转换的模型写法,解释预乘Alpha、RGBA方法、整图处理、量化误差及完全透明颜色的信息丢失。359 收藏 -
Go 计算文件 SHA-512 摘要时,优先用 crypto/sha512.New 配合 io.Copy 流式读取,再将 64 字节结果编码成 128 位十六进制文本。本文给出完整实现、摘要比较方式和文件变化、空文件与算法选择的边界。128 收藏 -
Go image/jpeg 的 Options.Quality 取值范围是 1 到 100,默认值为 75。本文按缩略图、网页上传和归档等用途给出质量参数的选择起点,并说明 Encode 的传参、体积与细节的权衡,以及 PNG、透明图和反复编辑场景的边界。186 收藏