Go语言技术文章
-
Golang · Go教程 | 1星期前 | 标准库 · 泛型 · 资源管理 · 迭代器 · Go教程 · 资源释放 iter.Seq range over function Go泛型迭代器 iter.Pull
Go 1.23 引入的 iter.Seq 让自定义序列可以直接配合 for range,但提前 break 与 iter.Pull 的 stop 处理决定了资源能否及时释放。本文用分页读取与筛选场景拆解 push 迭代器、pull 迭代器和停止边界。495 收藏 -
context.WithValue 适合传递贯穿请求链的元数据,不适合替代函数参数或承载业务配置。本文用键类型、取值失败和测试隔离三个边界,说明什么时候该用、什么时候该拆出显式参数。107 收藏 -
Go 标准库的一次性双返回值初始化模式,适合把值和错误一起缓存,并让并发调用者共享同一份结果。本文从配置加载与文件读取场景出发,说明它的执行次数、错误传播、panic 行为和不适用边界。156 收藏 -
AWS 最近为 EC2 增加应用状态检查,可按协议、端口、路径和健康响应码监测实例内应用。本文结合官方发布说明,拆解它与实例状态检查的区别、配置边界和自动恢复风险。229 收藏 -
图片输入的成本不只由文件大小决定,还受模型细节档位、有效分辨率和长图切分方式影响。本文用一套可复核的输入策略,判断何时用低细节、何时保留高分辨率,以及长图如何切成可验收的局部图片。152 收藏 -
Go 里两个 time.Time 看起来显示相同,直接用 == 仍可能比较出不同结果。本文从单调时钟、Location 和时间精度三个边界说明 Equal 与 == 的区别,并给出可验证的比较写法。276 收藏 -
用 Go 标准库的一次性初始化函数封装懒加载配置,验证成功值、初始化错误与 panic 缓存语义,避免并发请求重复初始化。453 收藏 -
Redis 内存达到 maxmemory 后,淘汰策略决定哪些键先离开。本文从缓存实例的内存告警现场出发,解释 allkeys-lru、volatile-lru、allkeys-lfu 和 noeviction 的适用边界,并给出命中率、淘汰计数与回滚核对方法。420 收藏 -
Go 泛型函数一旦把参数收窄成 any,就会失去编译期可用的类型信息。本文从一个可复用的过滤函数出发,对比 any、类型断言和泛型约束的边界,并给出选择建议。173 收藏 -
MySQL 主从延迟不能只看 Seconds_Behind_Master。本文从复制线程状态、Relay_Log_Pos、Performance Schema 事务等待和大事务四个层次排查,并给出可回退的处理顺序。468 收藏 -
Go 的 http.ServeContent 已经处理了文件下载中的 Range 和 If-Modified-Since,但 ETag 需要应用自己补上。本文用一个小型下载接口拆开请求头、响应状态与验收方式,避免把 200、206、304 混成一种成功。111 收藏 -
以雨后蓝色玻璃温室为主题,制作适合手机锁屏的竖屏壁纸。文章给出主图和冷暖光变体的中英文提示词,并说明时间区、图标区留白、主体位置、纵深和裁切调整方法。393 收藏 -
2026年秋季开学并非全国一张统一校历,家长应优先查看所在地教育部门、学校或年级发布的校历和报到通知,并区分正式开学日、报到日与分批返校安排。501 收藏 -
Go 泛型代码里,值类型约束明明包含目标类型,却可能无法调用指针接收者方法。本文用类型集、方法集和可运行示例拆开这个边界,并给出约束与调用方都能验收的写法。193 收藏 -
white-space-collapse 把空白折叠从 white-space 中拆出来,适合处理用户输入、代码片段和多行说明。本文用最小示例解释 collapse、preserve、preserve-breaks、preserve-spaces、break-spaces 的差异,并给出旧浏览器降级与验收方法。430 收藏