这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天。
一、本堂课的重要内容
- Go 语言学习背景介绍
- Go 语言基础语言详细讲解
- 开发环境
- 基础语法
- 标准库
- Go 语言实战
- 项目一:猜谜游戏
- 项目二:命令行词典
- 项目三:SOCKS5 代理
二、详细总结
go语言开发引入
除了用于构建大规模的互联网那个系统,在业界,包括大家熟知的 Docker,Kubernetes 也都是通过 Go 语言开发的,这也使得 Go 语言成为了云端应用的开发语言;还有以太坊、HyperFabric 等区块链项目都可以通过Go语言开发,还有企业应用及物联网等领域。
(一)go的特性:
Go = C + Python , 说明 Go 语言既有 C 静态语言程序的运行速度,又能达到 Python 动态语言的快速开发。静态编译安全,动态编译易于开发。
垃圾回收机制,内存自动回收,不需要开发人员管理。
天然并发(重要特点):从语言层面支持并发实现简单;goroutine轻量级线程可实现大并发处理高效利用多核;基于CPS并发模型实现。
吸收了管道通信机制,形成了go语言特有的管道channel可以实现不同的goroute之间的互相通信。
函数可以返回多个值
新创新:切片slice和延时执行defer
(二)学习路线
主要是进行并发任务的实现,常见架构模式,性能调优,高可用服务的实现。包括实际并发任务的实现,厂家 架构模式(pipe-filter,micro-kernel)的实现,性能调优及高可用服务的实现等,最终快速实现Go语言的实际项目开发流程。
(三)代码实现--以helloworld为例
注意的点:
退出返回值:GO中main函数不支持任何返回值,通过os.Exit来返回状态。