Go教程技术文章
-
Go html/template 的 missingkey 只控制 map 缺失键在执行阶段的行为。本文用一个可复用示例说明 default、zero、error 的差别,并区分结构体字段错误、Execute 返回值和生产场景的选择。384 收藏 -
Go 的 x/text/encoding/unicode.UTF8BOM 会在编码输出开头加入 UTF-8 BOM,并在解码时剥离开头 BOM。本文比较一次性 Bytes 转换与 transform.NewWriter 流式写入,说明 EF BB BF、Close 和 UTF8 选择边界。384 收藏 -
Go net/http 的 MaxBytesReader 可以限制请求体读取大小,但超限时不能靠字符串比较来判断。本文用 errors.As 识别 *http.MaxBytesError,说明 Limit 字段、413 响应、普通读取错误和关闭顺序的处理边界。384 收藏 -
Go sync.Mutex.TryLock 用 bool 结果表示本次是否立即拿到锁:true 才能进入临界区并负责 Unlock,false 不会建立同步关系。本文结合可跳过任务说明判断、解锁和使用边界。384 收藏 -
讲清 Go http.Transport 如何使用 ProxyFromEnvironment 读取 HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY,并排查内网域名、localhost、回环地址与端口匹配边界。383 收藏 -
Go html/template 会按 HTML、属性和 URL 上下文自动转义用户值。本文用固定属性模板说明 title、data-*、href 的安全写法,解释危险协议、事件属性和 template.HTML 的信任边界。383 收藏 -
介绍 Go 标准库 debug/elf.File.DynString 的正确用法:读取 DT_NEEDED、DT_SONAME、DT_RPATH、DT_RUNPATH,理解动态段与字符串表关系,并区分空结果、非法标签、损坏 ELF 和不可信输入。383 收藏 -
maps.Equal 适合比较值可比较的 map;遇到切片或嵌套 map,要用 EqualFunc 把值比较规则交给 slices.Equal 或递归的 maps.Equal。本文整理类型约束、nil 边界和 NaN 键等容易误判的情况。383 收藏 -
Go testing.T.FailNow 只能由运行测试函数的 goroutine 调用。本文解释 FailNow、Fail 和 Fatal 的停止语义,说明子 goroutine 误用为何导致误通过或清理失控,并给出错误回传、取消和等待 worker 的安全组织方式。383 收藏 -
用组合字符昵称场景讲解Go uniseg字素簇遍历,通过Next、Str和Positions保留完整组合序列,并实现前缀截取,区分字节、rune、宽度与规范化。383 收藏 -
使用 Go hash/crc32 在分块读取文件、上传内容或消息流时持续计算 CRC32,掌握 Sum32、Sum 和 Reset 的用法与边界。383 收藏 -
本文用 Go slices.Compact 压缩连续重复元素,说明它怎样保留原切片顺序、原地复用底层数组、处理尾部元素,以及什么时候应改用 CompactFunc。383 收藏 -
Golang · Go教程 | 20小时前 | 字符串处理 · Go教程 · Go strings.TrimSpace net/textproto textproto.TrimString ASCII空白
说明 Go textproto.TrimString 只裁剪首尾 ASCII 空白的边界,并对比 strings.TrimSpace,帮助协议字段选择正确的清理函数。383 收藏 -
Go 中想把临时文件放到指定目录,直接把目录路径传给 os.CreateTemp 的第一个参数即可。本文说明 pattern、Name、Close、Remove 的配合,并补充需要目录级隔离时的 MkdirTemp 写法。383 收藏 -
从配置校验场景出发,拆开 nil 接口、typed nil 和 reflect.Value.IsZero 的差异,并用可运行的 Go 示例给出安全的判断边界。382 收藏