golang专题下共有 12636 篇文章
-
- Golang 函数并发编程的最佳实践:如何在 goroutine 中使用 context?
- 使用context优雅地处理并发性,避免比赛条件和数据混乱:创建context类型:通过context.Background()或context.WithCancel()/context.WithTimeout()。在goroutine中使用context:循环监听contextDone通道,当context被取消时,任务将被取消。实战案例:在Web服务中用于处理请求超时、传播取消和跟踪请求。
- Golang· Go教程 | 11个月 | golang 并发编程 226浏览 收藏
-
- 如何使用 chan 作为 Golang 函数的参数?
- 如何使用chan作为Golang函数的参数?在Golang中,chan类型代表一个通信通道,用于在goroutine之间发送和接收数据。它可以作为函数参数传递,以便函数可以与其他goroutine进行通信。要点:chan在作为函数参数传递时,只能使用单向模式。函数必须使用select语句从通道中接收或发送数据。Goroutine可以通过向通道发送或从通道接收数据来与函数进行通信。代码示例:packagemainimport("fmt""time"
- Golang· Go教程 | 10个月 | golang chan 226浏览 收藏
-
- Golang引入第三方库方法解析
- 在Golang中使用第三方库的解决方案主要包括初始化GoModules、引入依赖、自动下载与管理依赖等步骤。1.初始化GoModules:运行gomodinit<项目模块名>创建go.mod文件记录依赖信息;2.引入第三方库:在代码中直接导入所需库,如import"github.com/gin-gonic/gin";3.自动下载依赖:通过gobuild、gorun或手动执行gomodtidy下载并整理依赖;4.查看依赖:依赖版本记录在go.mod,校验和信息记录在go.sum;5.指定依赖版本
- Golang· Go教程 | 3个月 | golang 依赖管理 226浏览 收藏
-
- Golang大量goroutine内存优化技巧
- 优化高并发Golang程序内存占用,需从栈大小调整与资源复用两方面入手。1.初始栈默认为2KB,自动扩容可能导致大量goroutine下内存激增,但手动调小需谨慎以免影响性能,普通开发者不建议修改;2.使用sync.Pool缓存临时对象、复用协程池减少频繁创建销毁;3.避免设计不合理导致的goroutine泛滥,通过context控制生命周期、限流、缓冲channel等手段控制数量。合理控制与资源复用是关键,栈调整属底层操作应慎用。
- Golang· Go教程 | 2个月 | golang Goroutine 内存占用 栈大小 池化技术 226浏览 收藏
-
- Golang可变参数函数使用方法详解
- 在Go语言中,可变参数函数是一种允许函数接受任意数量参数的语法机制。它通过在函数最后一个参数前加上...来定义,表示该参数可以接收多个值(0个或多个)。例如:funcsum(nums...int)定义了一个可变参数函数,调用时如sum(1,2,3)或sum()都合法。传入的参数会被自动封装为一个切片,函数内部可通过遍历该切片来处理所有参数。定义时需注意:可变参数必须是函数的最后一个参数,且每个函数只能有一个可变参数。此外,调用时也可以传入一个切片并加...来展开,如sum(numbers...)。使用时需
- Golang· Go教程 | 2个月 | golang 函数定义 切片 可变参数函数 ...语法 226浏览 收藏
-
- Golangdefer性能优化与关键路径实战
- Golang的defer语句在绝大多数情况下性能开销可以忽略不计,其带来的代码可读性和资源管理安全性优势远超微小的性能成本,因此在日常开发中应优先使用defer来确保资源正确释放;2.defer的性能开销主要来源于_defer结构体的创建与管理、参数复制、额外的函数调用以及运行时调度,这些开销在每秒百万次以上的高频调用路径中可能累积成显著瓶颈;3.只有在经过pprof等工具确认defer是性能热点的极端场景下,才应考虑优化,常见替代方案包括手动关闭资源以避免_defer机制、通过匿名函数模拟资源释放逻辑以
- Golang· Go教程 | 1个月 | golang defer 资源管理 关键路径 性能影响 226浏览 收藏
查看更多
课程推荐
-
- 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语言。
- 168次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 129次学习