Go语言技术文章
-
Redis BLMOVE 在源列表暂时没有元素时会阻塞,timeout 到期返回 nil 或 null,表示本次移动没有完成。本文说明如何用 EXISTS、TYPE、LLEN 观察源键,并处理补查时的并发竞态。108 收藏 -
CNCF 公告披露 OVHcloud 升级为白金会员,并提到 Harbor Kubernetes Operator、Kubernetes AI Conformance 与跨区域 Cilium 生产集群。本文把这些事实拆成治理、上游贡献、AI 一致性和网络运营四类信号,帮助平台团队判断哪些内容值得转成工程行动。108 收藏 -
环保服务企业整理危废转移资料时,建议以联单编号为主键,把转移批次、发运前核对、承运交接、接受确认和异常说明串成一套资料链。本文依据现行官方规则说明整理方法,不替代地方主管部门或具体项目的合规判断。108 收藏 -
Go time.ParseDuration 只接受固定的 duration 单位。本文从配置输入场景出发,说明中文单位、未知单位、缺少单位和合法复合时长的处理方式,并给出清晰错误提示的写法。107 收藏 -
Go SJSON 的 Set 会把 Go 值按 JSON 规则编码,SetRaw 则直接写入原始 JSON 片段。本文用数字、字符串、数组和对象示例说明两者的类型边界,并给出动态 raw 输入的校验方案。107 收藏 -
Redis 布隆过滤器的 capacity 是初始子过滤器容量,超过后默认会创建新的子过滤器;每个子过滤器都有自己的位数组和哈希函数,因此 SIZE 与 FILTERS 会随扩容增加。本文用 BF.RESERVE、BF.INFO 和参数取舍说明如何定位增长原因。107 收藏 -
Go 循环中使用 defer 关闭文件时,defer 会等所在函数返回才执行,文件多时可能造成句柄累积。本文用局部函数和显式 Close 两种方式改写,并说明错误处理与适用边界。107 收藏 -
Python 3.10 起,bisect.insort 可以用 key 提取对象的排序字段:key 只参与二分查找,插入时仍保留完整对象。本文用一个小型排行榜说明重复分数、insort_left 与列表插入复杂度。106 收藏 -
Go Expr 注册自定义函数时,可以用 expr.Function 提供实现回调,再用函数类型声明参数与返回值,让表达式的类型错误在 Compile 阶段暴露。本文给出可复用的规则示例,并区分编译错误、运行错误与正常业务 false。106 收藏 -
go-toml/v2 可以把 TOML 的 [[servers]] 表数组直接解码到 Go 的 []Server。本文从结构体标签、Unmarshal、流式 Decoder、严格未知字段和 DecodeError 几个边界,整理一套可直接复用的写法。106 收藏 -
HTMLInputElement.showPicker() 可以让自定义按钮打开日期、文件、颜色或 datalist 等原生选择器;关键是保留用户点击上下文,先做特性检测,并为异常和旧浏览器准备原生 input 回退。106 收藏 -
本文用 Go 标准库说明 Server.ConnContext 与 Request.Context 的关系,给出连接级信息注入、处理器读取、连接复用和请求取消的最小写法与边界。106 收藏 -
Go 1.23 的 iter.Seq 可以直接用于 range 函数。本文从 yield 的返回值出发,说明 break 怎样提前停止消费、迭代器怎样响应 false,以及自然结束、单次迭代和错误边界。106 收藏 -
围绕 Redis EVALSHA 返回 NOSCRIPT 的场景,说明脚本缓存为什么会缺失,如何用 SCRIPT EXISTS、SCRIPT LOAD 和 EVAL 完成有边界的回退,并区分摘要错误、实例切换、权限错误与执行超时。106 收藏 -
培训机构整理签到与补课记录,关键不是把所有信息堆进一张表,而是用班次、学员、签到和补课四类记录建立关联。本文给出一套可映射到教务系统或电子表格的台账方法。106 收藏