golang专题下共有 12539 篇文章
-
- Golang原子操作误区与多线程同步技巧
- Golang中atomic操作适用于简单原子性更新,不能解决所有并发问题。解决方案包括:1.atomic包提供如LoadInt64、StoreInt64、AddInt64等函数,确保基本类型如int64、uint32等的单次操作原子性;2.当需多个操作具备原子性时,应使用锁或复杂同步机制,如mutex保护临界区;3.其他常用同步机制包括channel用于通信和同步、sync.WaitGroup等待一组goroutine完成、sync.Once确保函数仅执行一次、sync.Cond实现条件等待通知;4.at
- Golang· Go教程 | 2个月 | golang 原子操作 并发 死锁 多线程同步 288浏览 收藏
-
- Golang代码重复高如何优化?泛型使用技巧
- 代码重复率高可通过泛型解决。识别Golang中高重复代码的方法是观察函数签名和结构体定义,若逻辑一致仅类型不同,则为重复代码嫌疑点。1.使用泛型可将多个相似函数合并为一个通用函数,如FindMax函数处理int、string、float64类型的切片最大值;2.泛型适用于数据结构(链表、树等)、算法(排序、搜索)及集合操作(Map、Filter、Reduce)等场景;3.实现泛型时需注意类型约束、性能影响与可读性问题,并避免过度使用;4.泛型在编译时进行类型特化,与代码生成的区别在于是否生成多版本代码;5
- Golang· Go教程 | 2个月 | golang 泛型 代码生成 类型约束 代码重复 490浏览 收藏
-
- Golang单元测试技巧:提升代码质量必学步骤
- 单元测试是提升Golang项目代码质量的关键手段。1.编写单元测试需创建以\_test.go结尾的测试文件,使用testing包编写以Test开头的测试函数;2.通过接口实现Mock外部依赖,如数据库、API等,避免受外部环境影响;3.使用表驱动测试提高覆盖率,将多个测试用例集中管理并循环执行;4.遵循最佳实践,保持测试独立性、只测试单一功能点、提升可读性、覆盖所有代码路径,并集成自动化测试;5.利用gotest-cover进行代码覆盖率分析,发现测试盲点,持续优化测试用例,确保代码质量与可维护性。
- Golang· Go教程 | 2个月 | golang 单元测试 代码覆盖率 mock 表驱动测试 377浏览 收藏
-
- Golang依赖包缺失怎么处理
- Golang程序运行提示缺少依赖包的解决方法是使用GoModules管理依赖。1.确认项目已启用GoModules,若没有go.mod文件则通过gomodinit创建;2.运行gomodtidy自动下载并安装缺失依赖;3.若问题仍存在,可手动使用goget安装特定依赖包;4.检查go.mod和go.sum文件确保依赖正确且版本无误;5.若使用传统GOPATH方式,需确认环境变量设置正确,但建议迁移到GoModules;6.可使用gomodvendor将依赖复制到vendor目录,并通过-mod=vendo
- Golang· Go教程 | 2个月 | golang 依赖包 154浏览 收藏
-
- Golang内存优化与管理技巧全解析
- Golang的内存管理依靠自动垃圾回收,但优化是关键。其核心机制包括三色标记并发清除GC、逃逸分析决定内存分配位置及pprof等工具支持性能调优。GC通过标记白色、灰色、黑色对象并发回收堆内存,但STW阶段会影响性能,应减少对象创建。逃逸分析将变量分配至栈或堆,避免局部变量逃逸可提升效率。使用gobuild-gcflags'-m'查看逃逸情况。优化内存分配的方法包括:使用sync.Pool重用对象、strings.Builder拼接字符串、避免频繁类型转换、预分配切片和Map、传递结构体指针。内存泄漏常见
- Golang· Go教程 | 2个月 | golang 内存管理 419浏览 收藏
查看更多
课程推荐
-
- 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次学习