GO语言学习笔记
起源背景:
综合C/C++执行速度快和Java、.NET的编译速度快的优点,达到高效高质量开发的一种语言。
特性:
- 没有类和继承的概念
- 以接口来实现多态性
- 使用静态类型、强类型语言【不允许隐私雷翔转换】
- 支持交叉编译,支持UTF-8的编程语言
- 不支持动态加载代码
- 不支持动态链接库
- 不支持泛型
- 以recover和panic来替代异常机制
GO解释器:
构件并运行Go程序:
- go buid 编译自身包和依赖包
- go install 编译并安装自身包和依赖包
GO性能:
比Go语言的执行效率慢20%,比Java或Scala应用程序快2倍且内存占比降低70%
关键字和标识符:
go语言区分大小写,有效的标识符必须以字母开头然后紧跟0或多个字符或Unicode字符
无效字符:
- 以数字开头
- Go语言的关键字
- 包含运算符
关键字
- _(空白标识符),可以接受任何类型的声明和赋值,但都将被抛弃
- 保留字【在编译第一步的代码解析】
break | default | func | interface | select |
case | defer | go | map | struct |
chan | else | goto | package | switch |
const | fallthrough | if | range | type |
continue | for | import | return | var |