Go语言技术文章
-
Go debug/dwarf.Reader 按前序顺序读取 DIE,Children 表示后面有子树,Tag 为零表示当前子列表结束,nil 则表示整个 info section 读完。本文用深度计数器和 SkipChildren 讲清遍历写法。439 收藏 -
Go 的 net/url.URL.Port 只返回 URL 中显式写出的端口,不会自动补出 http 或 https 的默认端口。本文用一段可复用的解析代码说明显式端口、默认端口、IPv6 主机和异常输入的处理边界。439 收藏 -
Linux epoll 的 LT 会持续报告仍满足的可读条件,ET 则要求非阻塞 fd 持续读取到 EAGAIN。本文用状态变化、读取循环和回归清单说明两种模式的差异与迁移边界。439 收藏 -
用 testing.B.ReportMetric 把累计计数换算成每次操作或按时间统计的自定义基准指标,并处理单位、覆盖和并行计数边界。439 收藏 -
go-cmp 比较含未导出字段的结构体时 panic 不是库失效,而是默认拒绝猜测内部字段语义。本文按字段用途选择 IgnoreUnexported、自定义 Comparer 或 AllowUnexported。438 收藏 -
企业银行账户变更后,不能只发一封通知,还要按客户、合作方、平台和内部岗位同步收款资料,并留存变更依据、通知凭证、对方确认和首笔对账记录。本文只讨论通知与回执留存边界。438 收藏 -
能源站点巡检记录不要只写“已处理”。本文按设备对象、异常单、处置状态和复核凭据拆开记录,给出一套适合日常台账的闭环方法与边界。438 收藏 -
Using filesort 只说明 MySQL 需要额外排序,不等于一定要加索引。本文从 EXPLAIN 的 rows、LIMIT、排序字段、索引覆盖和 Sort_merge_passes 入手,给出判断是否需要优化的顺序。438 收藏 -
PHP Fiber 适合把需要等待外部结果的工作单元包装成可暂停任务。本文用 start、suspend、resume、throw 和 getReturn 说明调度边界,并强调 Fiber 本身不会自动把同步阻塞调用变成异步 I/O。438 收藏 -
Python sqlite3 原生只认识有限的 SQLite 类型。本文用 Point 示例说明如何注册 register_adapter 写入自定义对象,再用 register_converter 与 detect_types 在查询时恢复对象,并列出声明类型、列名解析和版本兼容边界。438 收藏 -
Go x/text/unicode/bidi 处理的是双向文本的段落与视觉 runs,不是把右向字符串从头到尾反过来。本文用混合文本说明 ReverseString 的边界,并给出 Paragraph.Order 与 Line 的排查写法。438 收藏 -
Go 中 goroutine 把结果发送到无人接收的 channel 时,发送操作可能永久阻塞。本文用 context 的取消分支修复泄漏,并用固定取消次数、goroutine 增量和资源边界说明何时该用缓冲区、何时必须让底层工作也支持取消。438 收藏 -
Go go env GOTOOLDIR 返回的是当前宿主工具链目录,不是 GOOS/GOARCH 目标目录。本文用 go env、工具文件检查和最终二进制复查,建立一套核对交叉编译路径的排障流程。438 收藏 -
Go 的 math.Signbit 判断浮点数符号位,因此能识别负零;x < 0 判断的是数值顺序,负零与零相等所以不会命中。本文用 Copysign、Float64bits 和 NaN 边界说明两种判断的使用场景。438 收藏 -
SHAP Explanation 的 values 形状需要结合样本、特征和模型输出一起读取。本文用单输出与多输出示例说明 shape、feature_names、output_names 的对应关系,以及如何按样本和输出安全切片。438 收藏