Go教程技术文章
-
Go netip.Addr.UnmarshalText 可以把配置中的 IPv4、IPv6 文本解析成结构化地址。本文说明空文本、非法输入、IsValid 校验、IPv6 区域标识以及配置结构体接入方式。284 收藏 -
GOPRIVATE只声明私有模块范围,不提供仓库凭据。本文通过直连仓库和内部代理两套临时配置,说明代理、公共校验数据库与认证的独立边界,并归纳CI和缓存相关误区。284 收藏 -
Go 的 url.Values 用 Add 保存重复查询参数,Encode 按键排序并保留同键值顺序。本文用可复用的代码说明 Set、Add、Get 和 RawQuery 的边界。284 收藏 -
用 Go hex.NewDecoder 把十六进制字符流包装成 io.Reader,说明 io.ReadAll、分块读取、奇数长度和非法字符的处理方式。284 收藏 -
Go crypto/sha3 提供了直接计算和流式计算 SHA3-256 的两种入口。本文从 Sum256、New256、固定长度摘要和十六进制表示入手,说明如何处理大输入、比较摘要以及避免把哈希误当成加密。284 收藏 -
用 Cobra 的 MarkFlagsRequiredTogether 约束 username 和 password 成对出现,并说明 flag 定义位置、RunE 执行边界和常见配置误区。284 收藏 -
判断 Go net/http.ResponseController 的输入边界,要确认 Writer 来源、Unwrap 包装关系和 Handler 生命周期。本文提供完整响应示例,区分 ErrNotSupported 降级与真实错误,并说明 Flush 和写期限的限制。284 收藏 -
介绍 Go encoding/csv.Reader.InputOffset 的字节偏移含义,演示如何在 CSV 记录处理成功后原子保存检查点,并在进程重启时用 Seek 从上次位置继续导入。284 收藏 -
Go 反射处理结构体元数据时,可以用 reflect.Type.Fields 按声明顺序遍历 StructField,再通过 Tag.Lookup 读取标签;需要同时拿到字段值时使用 reflect.Value.Fields。本文从字段扫描、标签校验到嵌套结构体边界给出可运行示例。283 收藏 -
使用 Go 的 httputil.ReverseProxy 和 Rewrite,把公网 /api 请求安全映射到后端 /internal 基路径,同时处理查询参数、转发头和后端错误。283 收藏 -
Go bufio.Reader.ReadSlice 遇到 ErrBufferFull 并不代表长行结束。本文用原创 Go 示例说明如何及时复制片段、循环 append,并正确处理分隔符、EOF 与其他错误。283 收藏 -
Go bytes.CutPrefix 可以把可选协议前缀解析成 after 与 found 两个明确结果。本文用协议帧示例说明前缀命中、旧格式兼容、空字段校验和 bytes.Clone 的生命周期边界。283 收藏 -
netip.Addr 本身就是不可变且可比较的值类型。本文从字符串解析、IPv4-mapped IPv6 规范化、zone、零值和端口边界出发,给出把 IP 地址安全放入 Go map 的实现方式。283 收藏 -
讲清 govulncheck 如何把依赖模块中的已知漏洞分成实际可达调用与仅被依赖两类,并结合调用栈、构建标签、源码与二进制扫描边界,给出升级、移除调用和复扫的实用判断清单。283 收藏 -
用 Go BinaryMarshaler 与 BinaryUnmarshaler 实现自定义二进制类型,明确输入副本、独立编码结果、错误原子性以及长度和版本处理,避免切片共享带来数据联动。283 收藏