golang
已收录文章:198篇
-
必须用SetPrefix设置前缀,不能拼接字符串;它仅作用于默认logger开头固定部分,需首次写入前调用,且不自动加空格。306 收藏
-
在Golang中,匿名函数可作为值传递或立即执行,闭包则捕获外部变量实现状态保持;通过newCounter示例展示闭包计数器功能,并指出循环中闭包共享变量i的常见陷阱。168 收藏
-
Pebble的compaction触发逻辑需设L0CompactionThreshold=4、L0StopWritesThreshold=12,并禁用DisableWAL;避免L0文件堆积导致读延迟飙升,确保写入阻塞前及时触发合并。201 收藏
-
该用io.ReadAll当需一次性获取小数据(≤10MB)的[]byte或string,如JSON响应、配置文件;该用io.Copy当需流式转发、大文件落地或写入另一io.Writer,因其内存恒定、不OOM。405 收藏
-
cleanenv不支持自动探测格式,仅通过文件后缀识别解析器:.yaml/.yml→YAML、.json→JSON、.toml→TOML;无后缀或错误后缀将静默失败或panic,且不解析内容;ReadEnv与ReadConfig需手动控制加载顺序与覆盖逻辑。401 收藏
-
filepath.WalkDir比Walk快得多,因其默认用fs.DirEntry一次读取目录全部条目,IsDir()和Name()零开销不触发stat;而Walk对每个项强制os.Lstat,实测耗时仅Walk的1/3~1/2,但回调中调用d.Info()会抵消该优势。433 收藏