Go语言技术文章
-
Go 1.27 允许结构体复合字面量直接使用提升字段名。本文用可迁移的 Go 示例说明新旧写法、字段选择规则,以及指针嵌入和字段重叠等编译边界。186 收藏 -
Go 的 embed.FS 会保留嵌入目录的路径层级。本文用 io/fs.Sub 裁剪资源根目录,再通过 http.FS 和 http.FileServer 提供静态文件服务,并说明 URL 前缀、错误处理与发布边界。186 收藏 -
Go 的 mime.ParseMediaType 能按 MIME 规则解析 Content-Type 参数。本文说明带引号、分号和转义值如何还原,参数名为何使用小写读取,以及语法错误和业务类型不匹配时怎样处理。186 收藏 -
Go 切片直接赋值只复制切片头,slices.Clone 才会创建独立底层数组。本文从共享视图、可变副本、旧版本 append 写法和 nil/浅复制边界出发,给出按读写责任选择的实用判断。186 收藏 -
PHP iconv_mime_encode 的 Q 和 B 都用于生成 MIME 头字段,但适用的内容结构不同。本文从中文、ASCII 混合文本、字符集和折行参数出发,给出可执行的选择规则与对比示例。186 收藏 -
Excel 日期本质上是序列数字,显示成日期依赖单元格格式。本文对比 Excelize 的原始读取、格式化读取、1904 日期系统、ExcelDateToTime 与 time.Time 写入方式,帮助你选对 API。186 收藏 -
Go mutex profile 默认不采样,先用 runtime.SetMutexProfileFraction 开启,再通过 pprof 的 mutex 数据定位锁竞争热点。本文解释采样比例、采集方式和栈信息判读,避免把 Lock 调用误当成唯一根因。186 收藏 -
Go 的 json.Decoder.Token 返回的是 JSON 词法 token,Delim 负责标出数组和对象边界,More 只用于判断当前容器是否还有元素。本文从 Token 看似错位的现象出发,说明如何用 Token、More 与 Decode 组合读取 JSON 流。186 收藏 -
Golang · Go问答 | 2星期前 | 标准库 · 错误处理 · go · 数据库 · Go database/sql sql.ErrNoRows QueryRow QueryRowContext
QueryRow 找不到记录并不是 QueryRow 立即报错,而是把错误延迟到 Scan。本文说明 sql.ErrNoRows 的来源,比较 QueryRow 与 Query 的适用场景,并给出仓储层错误转换和边界处理方式。186 收藏 -
用 Redis ZDIFF 取出第一个有序集合独有的成员,说明 WITHSCORES、空结果、ZDIFFSTORE 与 Redis Cluster 多键同槽位边界。186 收藏 -
Go genetlink 不需要手写 Generic Netlink 家族编号。先用 genetlink.Dial 建立连接,再调用 GetFamily 按名称查询 Family,读取 Family.ID;本文同时说明错误判断、版本字段与 Execute 的衔接方式。186 收藏 -
Go defer 写在循环里时,关闭动作通常要等所在函数返回。本文用一个批量读取小工具说明资源为何积累,并给出局部函数、错误合并与退出边界的改写方式。186 收藏 -
Go image/jpeg 的 Options.Quality 取值范围是 1 到 100,默认值为 75。本文按缩略图、网页上传和归档等用途给出质量参数的选择起点,并说明 Encode 的传参、体积与细节的权衡,以及 PNG、透明图和反复编辑场景的边界。186 收藏 -
Redis SPUBLISH 用于向分片频道发送实时消息。本文说明命令参数、返回值、Redis Cluster 路由边界,并对比 PUBLISH 与 Stream 的适用场景。186 收藏 -
Python logging 的 Formatter 不只是拼接字符串,还决定 LogRecord 如何变成稳定的结构化日志。本文用 extra、defaults 和自定义 Formatter 统一业务字段、异常信息与 JSON 输出。185 收藏