golang专题下共有 12174 篇文章
-
- Golang测试实现与testing库使用教程
- 在Golang中实现测试功能最常用的方法是使用标准库中的testing包。1.编写基本单元测试时,测试文件以_test.go结尾,测试函数以Test开头并接收*testing.T参数;2.推荐使用表驱动测试(Table-drivenTests)来处理多个输入组合,结构清晰且易于维护;3.测试错误处理时应验证错误是否为nil并检查错误信息是否符合预期;4.使用gotest-coverprofile=coverage.out查看测试覆盖率,辅助分析测试完整性。这些方法能够满足大多数项目的测试需求。
- Golang· Go教程 | 1个月 | golang 单元测试 366浏览 收藏
-
- GolangChannel实现观察者模式详解
- 观察者模式在Go语言中可通过channel结合事件驱动实现,其核心在于构建事件中心管理事件发布与订阅。1.定义事件结构Event包含主题和数据;2.Observer为接收事件的channel;3.EventCenter维护观察者列表及发布通道;4.初始化事件中心并启动后台监听;5.通过Subscribe注册观察者至特定主题;6.通过Publish方法发送事件至channel触发通知;7.注意设置channel缓冲、关闭机制、命名规范及错误处理以优化系统稳定性与可维护性。
- Golang· Go教程 | 1个月 | golang 观察者模式 339浏览 收藏
-
- GolangTCPUDP通信优化方法
- 要提升Golang网络编程性能,可从缓冲区、goroutine控制、TCP选项、UDP优化及系统调优五方面入手。1.使用bufio.Reader/Writer或自定义较大缓冲区(如4KB-8KB),减少系统调用次数;2.控制goroutine数量,采用workerpool和循环处理机制,设置超时防止资源占用;3.设置TCP的KeepAlive、NoDelay及缓冲区大小,适应实时性和吞吐量需求;4.UDP使用批量读写、复用buffer,并在应用层处理丢包问题;5.调整系统参数如文件描述符限制、TCP/IP
- Golang· Go教程 | 1个月 | golang 网络编程 475浏览 收藏
-
- Golang实现RPC服务监控与追踪一体化
- 可观测RPC服务构建需关注指标、日志与追踪。1.指标方面:使用prometheus/client_golang库,为各RPC接口注册调用次数与耗时统计,采用Histogram记录延迟分布,并通过HTTP接口暴露指标数据,便于Prometheus抓取;2.日志方面:选用logrus或zap等结构化日志库,记录请求ID、方法名、状态等上下文信息,便于问题排查与流程串联;3.追踪方面:引入OpenTelemetrySDK并配置exporter,利用gRPC拦截器记录span信息,自动注入traceID与span
- Golang· Go教程 | 1个月 | golang 可观测RPC 341浏览 收藏
-
- Golang结构体方法与接收者区别解析
- 在Go语言中,定义结构体方法时可使用值接收者或指针接收者,1.值接收者用于无需修改结构体状态的方法,操作的是副本;2.指针接收者用于需修改结构体字段的方法,直接作用于原始数据;3.指针接收者方法只能由结构体指针调用(Go可自动取地址),而值接收者方法可由实例或指针调用;4.选择依据包括是否需要修改结构体、结构体大小及性能考量;例如,计算面积适合值接收者,缩放尺寸适合指针接收者。
- Golang· Go教程 | 1个月 | golang 结构体方法 501浏览 收藏
-
- Golangcontext并发控制实用技巧
- Golang的context包通过接口和函数实现并发控制,其Value传递机制允许在goroutine间传递请求级数据,但应谨慎使用。1.Value主要用于传递框架级别数据如traceID、认证信息等,业务逻辑建议用参数传递;2.Value是只读的,确保安全性;3.自定义key类型避免冲突。Context取消机制基于channel,调用cancel()关闭channel通知监听的goroutine退出。监听通过ctx.Done()接收信号,结合select实现灵活控制。选择超时策略时,若需指定截止时间用c
- Golang· Go教程 | 1个月 | golang context包 169浏览 收藏
查看更多
课程推荐
-
- 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次学习