go注意事项

go语言注意事项:
1、go不支持隐式转换(隐式转换是小类型转换到大类型,比如int32转换成int64在go语言是不支持的,go都是显示转换)
2、go语言指针是不支持指针运算的(比如不支持*p+1)
3、string 是数据类型,不是引用或指针类型,初始值为空字符串(“”) 而不是nil
4、go语言没有前置的++,--(比如不能++a),只支持后置++,--
5、如果两个数组的维数相等,是可以比较两个数组的,因为比较的是数组的元素(JAVA比较的是数组的引用),切片跟切片是不可比较的,切片只能跟nil比较
6、swich case 默认自带break,不需要写break跳出循环,case条件可以是常量或者是整数,匹配多个条件
7、var a [3]int 这是数组,var a []int这是切片,数组是固定长度,切片是可变长的,可以通过append方法填充
8、map中如果访问不存在的key,会初始化为0值返回的是0,而不是nil,map的value可以是一个方法
9、go语言map里面内置集合没有set的实现,可以map[type]bool{}实现元素的唯一性
10、当程序出现错误error我们不希望中断的时候,可以使用recover恢复错误,“Let it Crash!”是我们恢复不确定性错误的最好的办法

原文地址:https://www.cnblogs.com/xhhgo/p/10951548.html