GO Day 1 | 青训营笔记

103 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天。

一、本堂课的重要内容

  • Go 语言学习背景介绍
  • Go 语言基础语言详细讲解
  1. 开发环境
  2. 基础语法
  3. 标准库
  • Go 语言实战
  1. 项目一:猜谜游戏
  2. 项目二:命令行词典
  3. 项目三: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为例

注意的点:

图片1.png 退出返回值:GO中main函数不支持任何返回值,通过os.Exit来返回状态。