Go语言技术文章
-
Go 的 os.MkdirTemp 会在指定或系统临时目录下创建带随机后缀的独立目录。本文用一个小型工作目录场景说明参数、权限、返回路径、清理责任和常见错误边界。274 收藏 -
Go 的 http.Request.GetBody 是重新取得请求体的可选工厂。本文说明 NewRequest 的自动设置边界、手动补齐方式,以及再次调用 Client.Do 前怎样替换 Body。113 收藏 -
用 Go netip.ParseAddr 与 Addr.IsPrivate 识别 RFC 1918、RFC 4193 私有地址,处理 IPv4 映射边界,并区分地址分类与安全授权。116 收藏 -
通过MultipartReader逐部件接收单文件,用实际读取限额、文件上限、固定复制缓冲及并发准入控制资源。原创示例说明私有暂存、失败清理与成功交付的责任边界,避免把复制缓冲大小误当成进程内存上限。248 收藏 -
Go net/http 使用 http.Client.Timeout 设置客户端请求总超时,本文用一个可复用的小项目说明总预算、请求级 context、Transport 分阶段超时和超时错误识别。435 收藏 -
Go strconv.AppendBool 会把 true 或 false 直接追加到已有 []byte,并返回可能扩容后的切片。本文用配置行构建器说明返回值、缓冲区复用、结果所有权,以及它与 FormatBool 的选择边界。389 收藏 -
Go slog 通过 HandlerOptions 的 AddSource 把日志调用位置加入 TextHandler 或 JSONHandler 输出,本文说明 source 的生成、包装影响与生产取舍。402 收藏 -
Go 的 json.SyntaxError.Offset 表示解析器读过的字节数。本文用 error.As 取出语法错误,安全截取错误附近内容,再把字节偏移换算成行列位置,并区分 SyntaxError、InputOffset 与类型错误的适用边界。205 收藏 -
用 Go json.Decoder 连续读取多个 JSON 值,掌握 Decode 循环、io.EOF、数组边界和尾部缓冲的生产处理方式。294 收藏 -
Go 的 unicode.IsSpace 按 Unicode White Space 属性判断 rune。本文用配置文本说明它与 ASCII 空格、strings.Fields、strings.TrimFunc 的区别,以及清理键值行时的边界。148 收藏 -
bytes.Buffer.Truncate 处理的是未读窗口:它保留前 n 个未读字节并丢弃后面的内容。本文区分 Read、Next、Truncate、Reset 的边界,说明如何消费前缀、截断尾部以及避免参数越界和切片失效。189 收藏 -
strings.Builder 可以通过 Reset 复用同一个构建器对象,但不能把 Reset 当成保留底层容量的承诺。本文说明安全复用、Grow、String、非零值复制和 bytes.Buffer 选择边界。151 收藏 -
用 Go strings.TrimFunc 和 rune 判定函数清理字符串两端的 Unicode 字符,掌握中文、空字符串与内部字符的处理边界。270 收藏 -
bufio.Writer.Reset 可以复用内部缓冲区并切换下游 io.Writer,但会丢弃未 Flush 的数据并清除错误状态。本文用一个批量写入场景说明 Flush、Reset、资源关闭和并发边界。490 收藏 -
Peek用于只看不消费,UnreadByte用于退还最近读取的一个字节,二者不能机械配对。通过固定前缀识别与ASCII数字字段示例,说明共享Reader、借用切片、分隔符归属、短读与超长输入的处理边界。439 收藏