Go语言的优点
-
自带gc。
-
静态编译,编译好后,扔服务器直接运行。
-
简单的思想,没有继承,多态,类等。
-
丰富的库和详细的开发文档。
-
语法层支持并发,和拥有同步并发的channel类型,使并发开发变得非常方便。
-
简洁的语法,提高开发效率,同时提高代码的阅读性和可维护性。
-
超级简单的交叉编译,仅需更改环境变量。
Go命名要求
- Go的函数、变量、常量、自定义类型、包的命名方式遵循以下规则: 1)首字符可以是任意的Unicode字符或者下划线 2)剩余字符可以是Unicode字符、下划线、数字 3)字符长度不限
Go语言声明
有四种主要声明方式: var(声明变量), const(声明常量), type(声明类型) ,func(声明函数)。
Go的程序是保存在多个.go文件中,文件的第一行就是package XXX声明,用来说明该文件属于哪个包,package声明下来就是import声明,再下来是类型,变量,常量,函数的声明。
Go内置类型和内置函数
- 内置类型
bool
int(32 or 64), int8, int16, int32, int64
uint(32 or 64), uint8(byte), uint16, uint32, uint64
float32, float64
string
complex64, complex128
array -- 固定长度的数组
slice -- 序列数组
map -- 映射
chan -- 管道
- 内置函数
append -- 用来追加元素到数组、slice中,返回修改后的数组、slice
close -- 主要用来关闭channel
delete -- 从map中删除key对应的value
panic -- 停止常规的goroutine (panic和recover:用来做错误处理)
recover -- 允许程序定义goroutine的panic动作
imag -- 返回complex的实部 (complex、real imag:用于创建和操作复数)
real -- 返回complex的虚部
make -- 用来分配内存,返回Type本身(只能应用于slice, map, channel)
new -- 用来分配内存,主要用来分配值类型,比如int、struct。返回指向Type的指针
cap -- capacity是容量的意思,用于返回某个类型的最大容量(只能用于切片和 map)
copy -- 用于复制和连接slice,返回复制的数目
len -- 来求长度,比如string、array、slice、map、channel ,返回长度
print、println -- 底层打印函数,在部署环境中建议使用 fmt 包
- 内置接口error
type error interface { //只要实现了Error()函数,返回值为String的都实现了err接口
Error() String
}
总结
初识Go语言,感觉Go语言是真的简洁。
目录结构清晰,且只有.go文件扩展名,不易混淆。
删去冗余代码,符号仅在必要时添加。
尤其是内置数据结构和内置函数的功能强大,无需频繁导入基础包。