golang
已收录文章:12414篇
-
在Go框架中进行协程管理的高并发实践包括:使用协程池预先创建协程集合,提高性能。使用信号量限制同时运行的协程数量,防止无限增长。通过实战案例演示了协程池和并发限制器在处理高并发HTTP请求中的应用。486 收藏
-
Golang通过OpenTelemetry优化DevOps分布式追踪,显著提升微服务可观测性。1.首先集成OpenTelemetrySDK,安装依赖并配置追踪器和采样器;2.选择合适的采样策略如AlwaysOn、AlwaysOff或TraceIDRatioBased以平衡数据量与性能;3.使用ContextPropagation机制实现跨服务追踪,确保Trace上下文在服务间传递;4.利用追踪数据分析性能瓶颈和故障根源,结合Jaeger、Zipkin等工具进行可视化排查。486 收藏
-
处理Golang文件系统错误的核心在于使用os.PathError类型和相关错误判断函数。通过类型断言获取os.PathError实例,可提取Op(操作)、Path(路径)和Err(底层错误)字段,实现精细化错误处理;结合os.IsNotExist、os.IsPermission、os.IsExist等函数,可判断文件不存在、权限不足、文件已存在等常见错误;对于并发文件操作,可通过互斥锁(Mutex)、读写锁(RWMutex)、通道(Channels)等方式避免竞态条件;此外,errors.Is和erro486 收藏
-
单例模式中全局变量性能最优,sync.Once次之,懒加载最差;工厂模式推荐函数工厂以提升性能;依赖注入优先选择手动注入或Wire;选项模式宜用函数式选项。486 收藏
-
Go语言time包通过“2006-01-0215:04:05”布局格式实现时间格式化与解析,使用Format方法格式化时间,Parse解析字符串为时间,Sub计算时间差,Add进行时间加减,支持多种预定义格式和Duration单位操作,适用于日志记录、耗时统计等场景。486 收藏
-
文章介绍了3种常用的打log的方式,并赋上了注解 先写上注意事项,三种方法建议分开测,因为可能在第一种的Fatal会终止运行,Fatal和Panic和Print的区别在于,Fatal会保存日志并终止程序,Panic会保存485 收藏