GO语言 | 青训营笔记

70 阅读2分钟

一、 GO语言使用模块(modules)来管理依赖项。模块是代码的集合,通常与版本控制系统(如Git)的仓库相关联。以下是一些关键的依赖管理命令:

  1. 初始化模块:使用go mod init命令在项目根目录中初始化模块,
  2. 添加依赖项:使用go get命令添加依赖项,
  3. 构建和下载依赖项:使用go build或go run命令来构建和下载项目的依赖项。GO语言会自动检查模块的go.mod文件,并下载缺失的依赖项。
  4. 更新依赖项:使用go get -u命令更新已安装的依赖项, 二、
  5. 创建协程:使用关键字go加上函数调用来创建协程。
  6. 并发通信:使用Go语言内置的channel实现协程之间的通信。通道可以在不同的协程之间传递数据。
  7. 协程同步:可以使用channel、sync包中的锁或其他同步原语来实现协程之间的同步操作。这有助于避免竞态条件和其他并发问题。
  8. 协程退出:协程可以通过return或者关闭通道来正常退出。关闭通道后,接收操作将不再阻塞,并返回通道类型的零值。 三、
  9. WaitGroup:sync包中的WaitGroup类型可以用于等待一组协程完成执行。通过Add()方法增加协程数量,然后使用Wait()方法等待它们完成。
  10. Mutex:sync包中的Mutex类型可以用于保护共享资源,以避免竞态条件。使用Lock()Unlock()方法来控制对共享资源的访问。
  11. Atomic:sync/atomic包提供了原子操作,可以在不使用互斥锁的情况下对变量进行原子更新。 四、
  12. 包结构:按照功能和责任对代码进行模块化,并将相关的代码放在同一个包中。每个包应具有清晰的目录结构和包名。
  13. 测试:使用Go语言内置的测试框架(testing包)编写单元测试和集成测试。测试代码应与被测试代码放在同一个包中,并命名为*_test.go。
  14. 错误处理:使用错误值(error)来传递和处理错误信息。避免简单地忽略错误,而是采取适当的措施来处理和记录错误。
  15. 文档:使用Go语言内置的文档工具(godoc)编写和生成代码文档。在代码中使用适当的注释,并为公共函数和类型提供清晰的文档。
  16. 性能优化:使用Go语言的性能分析工具(pprof)来识别和解决潜在的性能问题。避免过度分配内存,使用并发操作来提高性能等。