课程大纲

Go 在上下文中的比较

  • Go 与 Java、Python、C 等语言的对比
  • Go 的关键设计理念
  • 何时(以及何时不)使用 Go

核心语言概念

  • 设置 Go 开发环境
  • 变量、常量和类型
  • 函数和多返回值
  • 控制结构:if、switch、for
  • 数组、切片和映射
  • 结构体和嵌入
  • 方法和接口
  • 理解 Go 中的指针
  • 错误处理习惯用法和模式

Go 中的并发

  • Go 协程和 Go 运行时调度器
  • 通道和消息传递
  • Select 语句
  • 并发模式(fan-out、fan-in、worker pools)
  • 同步(WaitGroups、Mutexes)

使用标准和常用包

  • 使用 fmt、strings、time 和 math 包
  • 使用 os 和 io/ioutil 进行文件 I/O
  • 使用 net/http 创建 HTTP 客户端和服务器
  • JSON 解析和编码

项目组织和 Go 模块

  • 使用 Go 模块进行依赖管理
  • 组织包和文件
  • 构建和安装 Go 应用程序

Go 工具

  • 使用 gofmt 和 go vet 进行代码格式化和静态分析
  • 使用 go test 运行和编写单元测试
  • 使用 go test -bench 和 pprof 进行基准测试和性能分析
  • 使用 Delve 进行调试(可选)

总结与下一步

  • Go 开发的最佳实践
  • Go Web 框架和生态系统概述
  • 持续学习的资源

要求

  • 具备任何编程语言的基础知识(例如C、Java、Python、PHP等)。
  • 本课程不会讲解循环或条件语句等基础概念,而是专注于这些概念在Go中的实现方式。

受众

  • 熟悉其他编程语言的软件开发人员
  • 转向Go的后端开发人员
  • 从事云原生或性能关键型应用程序开发的工程师
 28 小时

客户评论 (6)

即将举行的公开课程

课程分类