golang专题下共有 1591 篇文章
-
- Golang反射与JSON解析技巧
- 反射在Go的encoding/json标准库中用于动态获取结构体字段信息和标签解析,从而实现自动序列化与反序列化。①通过反射,程序可在运行时获取结构体的类型、字段名、值及标签内容(如json:"name");②反射解析标签中的键名和选项(如omitempty),决定字段是否导出、是否忽略或为空时省略;③标准库首次使用结构体时会缓存其反射信息以提升后续性能;④反射还处理匿名字段,将其字段合并到外层结构体中。这使得JSON编解码具备高度灵活性,但也带来一定性能开销,适用于大多数常规场景。
- Golang· Go教程 | 2个月 | golang 反射 标签 encoding/json JSON序列化 273浏览 收藏
-
- Golang微服务链路追踪集成教程
- OpenTelemetry(OTel)是微服务链路追踪的主流解决方案,它提供了一套标准的可观测性工具,用于采集分布式系统中的Trace、Metric和Log。其核心概念Span代表一次操作的执行时间段,通过SDK可便捷集成到Go语言编写的微服务中。接入步骤包括安装依赖包、初始化TracerProvider并设置采样策略、配置Exporter导出Span数据、以及在服务中注入中间件或手动添加Span。以chi路由库为例,通过引入otelhttp中间件可以自动为每个HTTP请求创建Span,并通过gRPC协议
- Golang· Go教程 | 2个月 | golang 微服务 链路追踪 span OpenTelemetry 278浏览 收藏
-
- GolangGC优化:调整GOGC与内存参数技巧
- 优化Golang的GC性能需调整GOGC和内存限制(GOMEMLIMIT),并采取对象复用、减少内存分配等策略。1.GOGC控制GC触发频率,降低值可减少延迟但增加CPU消耗;2.GOMEMLIMIT设置内存上限,合理设置可提升GC效率;3.复用对象和减少堆内存分配可降低GC压力;4.避免内存泄漏和谨慎使用finalizer有助于稳定内存使用;5.持续监控和调优是实现最佳GC性能的关键。
- Golang· Go教程 | 2个月 | golang GC优化 内存限制 GOGC GOMEMLIMIT 133浏览 收藏
-
- Golang测试中如何捕获panic?recover与测试技巧
- 要验证Go函数中是否触发panic,可使用defer和recover机制捕获并验证。具体步骤如下:1.在测试函数中定义defer语句,并在其中调用recover()以捕获panic;2.设置标志位或直接判断recover返回值是否为nil来确认是否发生panic;3.若需多次使用,可封装辅助函数assertPanic简化逻辑;4.如需验证panic内容,可进一步扩展封装函数以检查具体的错误信息。通过这种方式,可以有效测试预期的panic行为,同时保持代码简洁和可维护性。
- Golang· Go教程 | 2个月 | golang defer recover panic Testing 384浏览 收藏
-
- GolanggRPC错误处理:status包与状态码详解
- 处理gRPC调用错误的核心在于理解status包及其定义的错误状态码。1.使用status.FromError()函数判断是否为gRPC错误;2.提取status.Status对象获取错误码和消息;3.根据不同的错误码如codes.NotFound或codes.DeadlineExceeded进行针对性处理;4.通过status.New()函数自定义错误信息并转换为error接口;5.在客户端使用相同方式处理错误,同时利用日志记录与监控提升诊断能力;6.利用测试工具如gomock模拟gRPC错误以验证错误
- Golang· Go教程 | 2个月 | golang grpc 错误处理 status包 错误状态码 388浏览 收藏
查看更多
课程推荐
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 474次学习
-
- Go语言课程Gin框架实战
- Gin是一个用Go(Golang)编写的HTTPweb框架。它是一个类似于 martini 但拥有更好性能的API框架,由于 httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。
- 338次学习
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- Go编程基础视频教程
- Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点的一门编程语言。我们收集了这套《Go编程基础视频教程》,希望能够帮助大家更好的学习go语言。
- 167次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 129次学习