Go语言技术文章
-
独立运行 Go 测试二进制时,用 go tool test2json 配合 -test.v=test2json 输出逐行 JSON 事件。说明参数归属、流式解码、测试失败识别及原始日志保存方式。494 收藏 -
数据库 · MySQL | 3天前 | MySQL · JSON · 执行计划 · 查询优化 · mysql explain json_extract 执行计划 用户变量 FORMAT=JSON INTO
MySQL 8.4 可以用 EXPLAIN FORMAT=JSON INTO 把执行计划保存到当前会话的用户变量,再交给 JSON_EXTRACT、JSON_UNQUOTE 和 JSON_CONTAINS_PATH 读取。本文用原创 SQL 说明语法顺序、JSON path、字符串类型、可解释语句范围与会话边界。494 收藏 -
bufio.Reader.Peek 可以在不推进读取位置的情况下查看输入前缀,适合把一个流交给不同解析器。本文用一个小型输入分发工具说明 Peek 的组合方式、缓冲区边界、短输入和返回切片生命周期。493 收藏 -
结合目标列分布变化、直方图元数据与过滤估算判断重采集时机,给出 MySQL 8.4 查询和维护示例,说明手动、自动更新及刷新后计划不变的原因。493 收藏 -
用 Java EnumSet.complementOf 从已选枚举值中取出同一枚举类型尚未选择的值,覆盖空集、全集、类型推断和并发访问边界。493 收藏 -
Go encoding/xml.Decoder 的 Token、Decode 和 DecodeElement 都通过 error 报告解析问题。本文说明如何区分 io.EOF 与真实失败,用 %w 保留错误链,并结合 InputPos、InputOffset 和受控原始缓存补齐排查上下文。493 收藏 -
PHP PharData 可以创建和修改非可执行的 TAR/ZIP 归档。本文用 addFile 和 addFromString 演示磁盘文件、归档内路径、异常处理与重复写回边界,并说明文件较多时何时改用批量构建。493 收藏 -
Go 的周期任务不应该靠关闭 ticker.C 退出。本文用 context、time.NewTicker 和 defer Stop 写一个可复用示例,说明停止任务、停止 ticker、通道不关闭以及慢处理和版本边界。493 收藏 -
通过 bufio.Reader.Peek 直接查看 Reader 内部缓冲区中的前缀,避免为短暂判断创建副本;同时讲清 Reset 复用 Reader、短读错误、ErrBufferFull 与返回切片的生命周期。492 收藏 -
maps.Clone 会复制 map 的键和值,因此 map[string]error 中的错误值、Error 文本和错误链入口都会保留;但它是浅拷贝,不会复制错误对象内部的指针、切片或自定义可变状态。492 收藏 -
go/types.Config 本身不是需要 Close 的资源句柄。本文按一次类型检查的数据生命周期,说明怎样用堆画像定位真正长期存活的 Package、Info、FileSet、Importer 缓存或增量 Checker,并给出可回收的代码边界。491 收藏 -
用 Found 区分 bytes.Cut 的分隔符缺失与空字段,附可复用 CutFields 完整示例,说明首次切分、空输入、空分隔符与返回切片共享缓冲区的处理方法。491 收藏 -
systemd-analyze plot 可以把已加载服务的启动时间关系导出为 SVG。本文给出保存命令、图形读取方法,并说明最近启动周期、重复启动和未加载单元带来的结果边界。490 收藏 -
Go url.PathEscape 用于编码单个 URL 路径片段,不是整条 URL 或查询参数的通用编码器。本文结合动态资源标识、斜杠和空格等字符,说明 PathEscape 的使用位置,并比较 QueryEscape 与 url.URL 的选择边界。490 收藏 -
Go image/png 通过 png.Encoder 的 CompressionLevel 控制编码策略,支持默认、无压缩、最快和最高压缩四种选择。本文用完整示例说明怎样接入 io.Writer、怎样处理编码错误,以及为什么 BufferPool 不能替代压缩级别设置。490 收藏