golang
已收录文章:14263篇
-
使用os.ReadDir遍历目录,os.Stat获取文件信息,filepath.WalkDir实现递归遍历。示例展示列出条目、打印文件详情及全树扫描,结合DirEntry.Info()获取元数据,支持过滤与错误处理,适用于配置扫描、日志清理等场景。160 收藏
-
服务定位器模式通过全局注册表解耦服务获取与创建,适用于Go中数据库、日志等全局服务访问,简化依赖传递,但存在隐藏依赖和生命周期管理问题,建议结合接口键、安全获取及初始化限制优化使用。160 收藏
-
Go语言中使用compress/gzip包可实现文件和数据流的压缩与解压缩。1.压缩文件需通过gzip.NewWriter包装写入器,将源文件内容复制到压缩流,并defer关闭写入器以确保数据刷新;2.解压缩需使用gzip.NewReader读取压缩流,并通过io.Copy将解压后内容写入目标文件;3.内存数据压缩可将字节写入bytes.Buffer,解压缩则从压缩数据创建buffer并读取全部内容;4.可设置压缩级别如BestCompression或BestSpeed,平衡压缩率与速度。常见于日志归档和160 收藏
-
先实现短信验证码发送与校验,需注册阿里云并配置AccessKey、签名及模板;再通过GolangSDK调用短信服务,结合Redis存储验证码,设置有效期,并使用HTTP路由处理发送与验证逻辑。160 收藏
-
gomodtidy通过分析代码自动清理未使用依赖并添加缺失依赖,更新go.mod和go.sum文件,保留间接依赖、测试依赖及工具依赖,确保项目依赖整洁与安全。160 收藏
-
Go语言用error接口替代try-catch,强调显式错误处理。1.函数返回error值,调用者必须检查;2.error是含Error()string的简单接口,可自定义扩展;3.错误作普通值传递,提升性能、控制力和可测性。160 收藏