Go 语言的主要目标是将静态语言的安全性和高效性与动态语言的易开发性进行有机结合
类型安全,内存安全,虽然存在指针,但是不允许进行指针运算
Go 语言没有类和继承的概念,通过接口实现多态
特性缺失
- 不支持函数重载,操作符重载
- 不支持类型隐式转换
- 放弃类和继承,通过另一种途径来实现面向对象设计
- 不支持泛型
- 通过panic - recover替代try - catch
- 不支持静态变量
环境变量
- $GOROOT:表示Go在电脑上安装的位置
- $GOARCH:表示机器的处理器架构
- $GOOS:表示机器的操作系统
- $GOBIN:表示表一起和链接器的安装位置,默认是$GOROOT/bin
- $GOPATH:默认值和$GOROOT一样,但是从Go1.1版本开始,必须修改为其它路径。该路径下必须分别包含三个规定的目录:src、pkg和bin,这三个目录分别用于存放源码文件,包文件,和可执行文件
Go runtime
- 类似于JVM
- 负责分配内存、垃圾回收、切片、反射等等
- 标记 - 清楚,垃圾回收器
- 由C语言编写
- 存放于$GOROOT/src/runtime目录
入门教程推荐: