Go语言技术文章
-
Go 的 strings.Cut 会同时返回分隔符前后文本和 ok 标志,分隔符缺失时前半部分保留原字符串、后半部分为空。本文用配置解析和并发无关的最小示例,说明如何区分缺失、空字段与正常切分。125 收藏 -
Go 的 time.Time.Round 不只接收正数时长。本文用时间线示例拆开 Round、Truncate 和 Add 在负数 duration、半间隔与零值场景下的差异,给出可直接运行的判断代码。330 收藏 -
Go 服务读取 HTTP 响应时,io.ReadAll 会把内容一次性放进内存。本文用 io.LimitReader 和 http.MaxBytesReader 拆开客户端、服务端的上限策略,并说明如何区分截断与真实读取错误。220 收藏 -
用 Go 的 os.OpenFile 创建一次性文件时,O_CREATE 只负责允许创建,O_EXCL 才把已存在检查与创建绑定成一次原子操作。本文用并发示例拆开两种标志的边界,并给出可验证的错误处理方式。413 收藏 -
slices.Collect 能把 iter.Seq 变成切片,但空序列的结果、容量预估和重复遍历边界容易被忽略。本文用最小代码拆开收集过程,并给出选择容量策略的判断方法。236 收藏 -
用 Redis SETBIT 把每天签到压成位图,重点处理日期偏移、BITCOUNT 统计、重复签到和跨月清理,附可运行示例与核对方法。162 收藏 -
MySQL 8.4 开启 sql_generate_invisible_primary_key 后,InnoDB 无主键表可能出现不可见的 my_row_id。本文用 SHOW CREATE TABLE、SHOW INDEX 和信息架构查询确认真实表结构,并说明复制与备份边界。206 收藏 -
Go 的 bytes.Buffer.AvailableBuffer 返回可借用的尾部空间,但它不是已经写入的数据。本文用最小程序说明 Bytes、AvailableBuffer、Write 与 Reset 的边界,避免把缓冲容量误当成有效长度。312 收藏 -
time.Duration.String 会自动选择合适单位,但负值、纳秒尾数和日志截断常让排查结果失真。本文用可复现实例说明 String 与 Truncate 的边界。110 收藏 -
Golang · Go教程 | 1星期前 | 标准库 · golang · 性能优化 · bytes.Buffer · 切片边界 · Go bytes.Buffer 切片容量 AvailableBuffer 零分配
bytes.Buffer.AvailableBuffer 可以把格式化结果直接追加到缓冲区的可用容量中,但返回切片只适合紧接着传给同一个 Buffer 的 Write。本文用循环拼接日志的例子说明 Len、Cap、Available 与下一次写入之间的边界,以及什么时候不该保存这段切片。292 收藏 -
围绕雨夜玻璃温室里的一枝白色月季制作一组原创竖屏手机壁纸,先展示青灰雨夜主图,再给出匹配的中英文完整提示词、锁屏留白改词方法和明显不同的琥珀晨光变体。386 收藏 -
电子厂日常检查 EPA 防静电工作区时,应把区域状态、接地链路、人员接地和异常记录连成一个闭环。本文结合国家标准信息公共服务平台公开信息,给出一套不替代企业制度和专业测量的现场核对方法。176 收藏 -
Golang · Go问答 | 1星期前 | net/http · Go问答 · HTTP响应 · 连接控制 · Go FLUSH http.ResponseController Hijack ErrNotSupported
http.ResponseController 把 HTTP 响应刷新和连接劫持能力统一到一组探测方法中。本文用真实 Handler 场景拆开 Flush、Hijack 与 ErrNotSupported 的调用边界,说明什么时候应当回退,以及如何验证响应状态。430 收藏 -
Golang · Go问答 | 1星期前 | 标准库 · golang · 排序 · Slices · Go 比较函数 slices.SortFunc slices.SortStableFunc 排序不稳定
slices.SortFunc 排序结果看似不稳定,通常不是算法随机,而是比较函数没有满足严格弱序,或调用方把等价元素的原顺序当成了保证。本文用订单优先级示例拆开 cmp 的返回值、重复元素处理和需要稳定排序的边界。223 收藏 -
slices.DeleteFunc 适合按条件批量删除切片元素,但回调遍历的是原切片语义,不能在回调里再改同一个切片。本文用可运行示例拆开保序删除、索引变化和尾部清零带来的内存边界,并给出何时改用一次性筛选。285 收藏