Go语言技术文章
-
说明 Go reflect.StructOf 适合的动态字段场景,演示如何用 StructField、JSON 标签和 reflect.New 创建可写运行时结构体,并梳理导出字段、嵌入方法与类型缓存边界。423 收藏 -
subprocess.run 的 timeout 只解决等待问题。本文用 Popen、独立进程组和 communicate,说明 POSIX 与 Windows 如何在超时后终止子进程树并回收输出。495 收藏 -
Go 的 sql.DB 是连接池句柄,而 sql.Tx 绑定事务连接。事务内部如果继续调用 DB.Query,查询可能落到另一条连接,读不到未提交数据。本文说明边界、改法与回滚收口。316 收藏 -
Go 里接口自身为 nil 与接口持有 typed nil 不是一回事,reflect.ValueOf(nil) 还会得到无效 Value。本文给出带 IsValid 和 Kind 防护的安全判断函数,避免反射判断直接 panic。105 收藏 -
科技周边 · 业界新闻 | 1个月前 | 权限控制 · gitHub actions · 业界新闻 · AI工程 · 安全输出 GitHub Actions 权限边界 GitHub Agentic Workflows gh-aw
GitHub Agentic Workflows 进入团队后,最重要的不是让代理获得更多写权限,而是把只读推理、安全输出和人工审批拆成不同边界。本文给出最小权限配置、safe-outputs 用法和上线检查清单。495 收藏 -
Go database/sql 中,rows.Close 后仍可调用 rows.Err。本文区分迭代错误、扫描错误和驱动关闭错误,给出读取型查询与提前关闭时不丢错的写法。136 收藏 -
用 PHP curl_multi_exec 批量发送 HTTP 请求,正确轮询 curl_multi_info_read、等待 curl_multi_select、读取 curl_multi_getcontent,并区分多句柄错误、单请求错误和 HTTP 状态。260 收藏 -
用 Go encoding/hex 把固定长度字节稳定编码为统一小写、可排序比较的字符串,解释 [N]byte、前导零、长度公式和文本比较的边界。175 收藏 -
Go 的 database/sql 中,QueryRow 没有记录不会立即返回错误,而是把结果放进占位 Row,直到 Scan 才返回 sql.ErrNoRows。本文说明延迟错误的原因、错误分支、NULL 字段和多行查询的选择。206 收藏 -
AI 评测集不要只放标准答案。把应答、应拒答和边界样本分开,记录 expected_action、拒答理由、人工标注和安全替代建议,再分别计算准确率、漏拒答率与拒答帮助度。385 收藏 -
讲清 Go base64.NewEncoder 的尾部缓冲、Close 刷新和 Writer 错误传递,给出基于 io.Copy 的流式编码写法。107 收藏 -
Redis AOF 重写时磁盘占用变大,通常不是数据瞬间翻倍,而是旧 AOF、新 base 文件和重写期间新增写入同时存在。本文用 Redis 7 多段 AOF 结构、INFO persistence、du 与 df 命令定位空间峰值,并给出生产容量检查清单。191 收藏 -
Go 的 regexp.Compile 失败时,先区分正则语法错误与匹配不到,再用 regexp/syntax.Error 读取错误类型和问题表达式,最后处理动态规则与 MustCompile 的边界。318 收藏 -
MySQL LOAD DATA 导入含换行文本时,要分清字段内的\n转义、CSV 引号包围的真实换行,以及记录本身的行结束符。本文按源文件形态说明 TERMINATED BY、ENCLOSED BY、ESCAPED BY 和 LOCAL 的边界,并给出导入后的核对清单。284 收藏 -
用 Go 的 crypto/rand.Int 生成 [0,n) 范围内均匀分布的随机下标,说明 big.Int 上界、拒绝采样、空切片和错误处理。194 收藏