Go语言技术文章
-
Go 的 template.Clone 会复制基础模板及其关联模板命名空间,随后在副本中重新定义 block,便能生成互不污染的模板变体。本文用通知模板小项目演示默认块、局部覆盖、执行与测试。148 收藏 -
解释 Vite 配置求值早于 .env 文件加载的原因,并用 loadEnv 正确读取模式变量、配置端口和控制客户端暴露边界。133 收藏 -
Go 的 SetFinalizer 只有在对象变为不可达、GC 发现并完成调度后才可能执行,进程退出不会等待它。本文拆解未执行原因,并用显式 Close、defer 与受控 shutdown 替代退出前清理。159 收藏 -
判断 Linux 交换抖动不能只看 swpd 是否非零,应连续观察 vmstat 的 si、so,并结合 b、wa、可用内存与 memory PSI。本文给出 60 秒采样方法、四种典型形态和安全处置顺序。116 收藏 -
Go text/template 的 FuncMap 函数可以通过第二个 error 返回值中止 Execute。本文用一个校验函数说明错误传播、ExecError 解包、部分输出和生产边界。151 收藏 -
使用 importlib.resources.files() 获取 Traversable 后,可通过 joinpath、iterdir、is_file 和 read_text 读取包内目录。本文同时说明 zip 包兼容、as_file 目录支持与旧 contents API 的迁移边界。359 收藏 -
runtime.Pinner 可在 Go 1.21 及更高版本中显式固定 Go 对象。本文说明 cgo 参数的隐式固定边界、Pin/Unpin 最小写法、嵌套指针规则及跨调用保存指针时的生命周期管理。209 收藏 -
分代 ZGC 没有一个可以单独代表晋升压力的万能数字。本文用 GC 日志、JFR 和业务基线,判断老年代存活量、回收频率与堆余量是否共同恶化,并给出调参和排查边界。200 收藏 -
Go 1.24 起 text/template 可直接 range iter.Seq2。本文用 slices.All 演示两个模板变量的绑定方式,并说明空序列、单变量语义、顺序和兼容处理。416 收藏 -
用木刻刀痕、棉纸纤维、叠纸阴影和顶部留白制作 9:16 潮汐锁屏壁纸,提供冷蓝月潮与暖橙晨潮两套中英文提示词及下载图。488 收藏 -
Go 1.26 新增的 errors.AsType 用泛型返回具体错误类型,省掉 errors.As 中声明目标指针和传入地址的样板写法。本文说明包装错误、自定义 As、errors.Join 与旧版本兼容边界。221 收藏 -
机构用户可登录国家医疗器械不良事件监测信息系统提交报告;普通使用者可向监测机构、企业或经治医疗机构反映,并保存产品与事件资料。120 收藏 -
SetConnMaxIdleTime 用来限制连接在池中连续空闲的最长时间,过期连接可能由清理器或复用前检查惰性关闭。它应与 MaxIdle、MaxOpen 和 MaxLifetime 配合,并通过 DB.Stats 观察淘汰计数。271 收藏 -
React useOptimistic 的列表回滚关键是保留真实数据作为基线,用 reducer 标记待处理项,请求失败时让乐观状态自然恢复,请求成功后再同步服务端列表。153 收藏 -
errors.Unwrap 只调用 Unwrap() error,适合单链包装;errors.Join 返回值实现的是 Unwrap() []error,所以直接调用得到 nil。匹配原因应使用 errors.Is 或 errors.As,枚举时再显式处理多子错误接口。122 收藏