Golang
开山篇
Golang的学习方向
区块链研发工程师: 去中心化 虚拟货币 金融
Go服务器端、游戏软件工程师 : C C++ 处理日志 数据打包 文件系统 数据处理 很厉害 处理大并发
Golang分布式、云计算软件工程师:盛大云 cdn 京东 消息推送 分布式文件系统
2、Golang的应用领域
- 区块链应用:区块链也是分布式账本技术 是一种互联网数据库技术 特点是去中心化 公开透明 就是每个人都可以参与数据库记录
- 后端服务器端的开发:美团后台流量支撑程序(排序 推荐 搜索 负载均衡 cache 容错 按条件分流 统计运行指标) 仙侠道
3、云计算/云服务后台应用
- 盛大云CDN 调度系统、分发系统、监控系统、短域名服务 Golang的计算能力强
大并发 计算能力
Golang诞生原因
- 计算机硬件技术更新快于软件
- 软件维护成本高(1.风格不统一 2.计算能力不够 3,处理大并发不够好)
- C/C++编译速度慢 内存泄露
Go语言特点
静态编译语言的安全和性能 动态语言开发维护的高效率 Go = C + Python
- C中继承理念 包括表达式语法,控制结构,基础数据类型、调用参数传值,指针
- 引入包的概念 一个文件都属于一个包
- 垃圾回收机制 内存自动回收
- 天然并发 语言层面支持并发,实现简单 goroutine, 轻量级线程 可以实现大并发处理,高效利用多核 CPS并发 有效利用多核多CPU 上千上万个并发都可以
- 吸收了管道通信机制 channel
- 函数可以有多个返回值
- 创新:切片slice 动态数组 集合 延迟执行defer
Gotest (MAC环境下)
MAC下面安装GO开发环境
brew install go之后 又重新brew reinstall go
使用go version可以直接看到go 的版本
MAC 安装教程
https://blog.csdn.net/sinat_34626178/article/details/131899430?spm=1001.2014.3001.5502
Golang执行过程
go build -o 文件名称 可以指定文件名称 有错误编译语句会报错
Go 常见开发问题
Go语言的注释 就是常见的C++注释 养成注释的良好编程习惯 代码需要有正确的缩进和空白shift + tab
go.fmt -w main.go 运算符左右加一个空格