Go教程技术文章
-
Go 处理土耳其语大写时,不要把语言规则简化为 ASCII 替换。使用 x/text/cases 的 Upper(language.Turkish),即可按土耳其语处理点号 I 和无点 I;本文同时说明 String、Bytes、流式转换和 Caser 并发边界。374 收藏 -
Go strconv.AppendQuote 可以把字符串以带引号的转义形式追加到已有 []byte。本文从容量预算、Quote 对比、控制字符和无效 UTF-8 边界出发,给出低分配写法与 Benchmark 记录方法。372 收藏 -
Go strconv.AppendQuoteRuneToASCII 可以把单个 rune 追加为带单引号的 ASCII Go 字符字面量。本文说明如何接住返回切片、处理非 ASCII 转义,并区分它与 QuoteRune、AppendQuoteRune 等相邻 API。372 收藏 -
本文说明 Go http.Request.BasicAuth 的三个返回值,演示如何区分认证头解析成功与账号校验通过,并整理 401、HTTPS、WWW-Authenticate 和日志脱敏边界。371 收藏 -
Go netip.Prefix.IsValid 同时判断地址是否已初始化、前缀位数是否符合 IPv4 或 IPv6 范围。本文用一个小工具区分零 Prefix、0.0.0.0/0、非法位数和有效但未掩码的前缀。371 收藏 -
Go slices.Replace 可以把切片的半开区间替换成任意数量的新元素。本文用权限列表和批处理记录说明变长替换、空替换、索引边界、底层数组复用与结果判断,帮助你写出可复查的切片更新代码。368 收藏 -
Go x/text/secure/precis OpaqueString 可以在保留大小写的前提下准备国际化口令文本。本文说明 String 的使用、NFC 规范化、空结果处理,以及准备后再哈希的落地顺序。367 收藏 -
Windows-1252 旧文件不能直接当作 UTF-8 读取。本文用 golang.org/x/text/encoding/charmap 的 Decoder 说明内存转换、流式读取和写回旧编码时的字符边界。364 收藏 -
ants 池满时,WithMaxBlockingTasks 可以限制等待空闲工作协程的 Submit 调用数量;超过上限会返回 ErrPoolOverload。本文说明它与池容量、WithNonblocking、监控指标和回滚策略的区别。364 收藏 -
围绕 Go strconv.ParseFloat 讲清 bitSize 精度选择、ErrSyntax 与 ErrRange 判断、NumError 读取及 NaN 和 Inf 的业务边界。361 收藏 -
用 github.com/pkg/sftp 和 io.Copy 流式下载远端文件,配合临时文件、错误链与关闭错误处理,避免半成品污染最终路径。360 收藏 -
sync.OnceFunc 把无参无返回值函数包装成可并发调用的一次性入口。本文给出对象级初始化示例,解释包装函数应共享、并发调用等待完成、panic 重复传播,以及重试和初始化后修改的边界。359 收藏 -
Go 的 x509.CertPool.AddCert 可以把已解析的自签名或内部 CA 证书加入信任池。本文从 PEM 解析、系统根池组合和 tls.Config.RootCAs 三个连接点说明正确用法,并区分未知 CA、主机名不匹配与证书过期等常见错误。358 收藏 -
Expr 的 Env 不是运行时数据容器,而是表达式编译时的输入声明。本文用结构体环境拆解 Compile 与 Run 的职责边界,说明字段、类型和运行值不一致时如何定位,并给出可复用的错误处理写法。357 收藏 -
通过完整 Go SFTP 上传函数说明同目录临时文件、写入和关闭错误处理、POSIX 重命名及覆盖策略,并区分名称交接、持久化和消费确认,处理响应中断后的不确定结果。355 收藏