Go教程技术文章
-
Windows-1252 旧文件不能直接当作 UTF-8 读取。本文用 golang.org/x/text/encoding/charmap 的 Decoder 说明内存转换、流式读取和写回旧编码时的字符边界。364 收藏 -
Go embed 可以在编译期把静态文件放进程序,embed.FS 再通过标准 fs.FS 接口按路径读取。本文比较 string、[]byte 与 embed.FS 的适用场景,并给出模板和静态资源读取方式。363 收藏 -
Go 的 Root.Readlink 正式拼写带小写 l,专门读取根目录内符号链接保存的目标文本。本文用最小示例区分读取链接、跟随链接和路径越界错误。363 收藏 -
Go 的 os.Readlink 返回的是符号链接保存的目标字符串。本文用 filepath.IsAbs 判断相对或绝对目标,并说明相对目标为什么要以链接所在目录为基准解释。363 收藏 -
Go 1.21 引入的 slices.IndexFunc 可以按自定义谓词查找切片中首个有效值。本文从手写循环迁移到标准库 API,说明谓词设计、首个命中、空切片和 -1 结果的判断边界。362 收藏 -
围绕 Go strconv.ParseFloat 讲清 bitSize 精度选择、ErrSyntax 与 ErrRange 判断、NumError 读取及 NaN 和 Inf 的业务边界。361 收藏 -
Go strconv.AppendQuoteToASCII 会把字符串追加成带双引号的 Go 字符串字面量,并把非 ASCII 字符转成 ASCII 转义。本文用最小示例说明已有 []byte 的追加方式、控制字符处理、返回切片边界,以及它与 Quote、AppendQuote 的取舍。360 收藏 -
sync.OnceFunc 把无参无返回值函数包装成可并发调用的一次性入口。本文给出对象级初始化示例,解释包装函数应共享、并发调用等待完成、panic 重复传播,以及重试和初始化后修改的边界。359 收藏 -
Go 的 x509.CertPool.AddCert 可以把已解析的自签名或内部 CA 证书加入信任池。本文从 PEM 解析、系统根池组合和 tls.Config.RootCAs 三个连接点说明正确用法,并区分未知 CA、主机名不匹配与证书过期等常见错误。358 收藏 -
Go 1.27 起,go test 默认启用 stdversion vet 检查,用来发现源文件使用了高于项目语言版本的标准库符号。本文从诊断输出、单独复查到修复判断,说明怎样读懂 stdversion 结果。356 收藏 -
Go 的 net/url.URL.Redacted 只会把 URL.User 中的密码替换为 xxxxx。本文说明如何区分 Userinfo 与查询参数,把脱敏固定到日志出口,并处理解析失败、无密码和 token 参数等边界。354 收藏 -
Go html/template 会根据动作所在的 HTML 上下文自动转义 URL。本文区分普通 string、template.URL 与 #ZgotmplZ,说明如何识别 URL 边界并安全地建立受信任类型。352 收藏 -
用 Go x/text/encoding/korean 的 EUCKR.NewEncoder 把 UTF-8 韩文转换为 EUC-KR 字节,说明 String、Bytes、Writer 的使用方式与不支持字符的错误边界。352 收藏 -
Go html/template 的 Delims 可以在解析前切换模板动作分隔符。本文用 [[ ]] 示例说明设置时机、Parse 与 Execute 的边界、旧语法表现和多模板集合的处理方式。352 收藏 -
Go transform 的 Span 可识别无需改写的字节前缀。本文用 width.Fold 说明前缀保留、ErrEndOfSpan、缓冲区处理和状态延续,并解释完整输入与流式输入的区别。351 收藏