概述
1、测试文件名一定要以xxx_test.go
结尾
2、交换变量
a,b = b,a
3、连续常量的定义
const(
Monday = iota + 1
Tuesday
Wednesday
)
const (
open = 1 << iota
close
pending
)
4、Go语言的特性
- Go 对于数据类型的转换是比较严苛的,不支持隐式类型转换,也不支持别名到原类型的隐式转换
- Go不支持任何指针运算
- Go里面的字符串是值类型,默认初始化零值是空字符串,而不是空(nil)
5、Go操作符
- Go不支持前置 ++ –
- Go支持按位清零 &^
6、条件和循环
- 循环只有
for
这个关键字(因为Go的关键字只有25个,比较少) - 条件
if
判断中的表达式必须为布尔值 - if 支持两段式的写法
- 条件表达式不限制为常量或者整数
- 单个case中,可以出现多个结果选项,使用逗号分隔
- 与C语言等规则相反,Go语言不需要用break来明确退出一个case
- 可以不设定switch之后的条件表达式,在此种情况下,整下switch结构与多个if…else…的逻辑相同
7、数组array和切片slice
- 数组的容量不可伸缩,切片可以
- 数据可以比较,切片不可比较
- 切片的cap(capacity)是可变的
- 切片是共享内存空间的,修改其中一个slice,其原数据也会受到影响
8、map元素
- 在访问的key不存在时,仍会返回零值,不能通过返回nil来判断元素是否存在
- map的value可以是一个函数方法
- map与Go的Dock type接口方式一起,可以方便的实现单一方法对象的工厂模式
- map可以实现Go没有支持的set类型的特性
9、string
- string是数据类型,不是引用或指针类型,初始化为默认零值
- string是只读的、不可变的 byte slice,len 函数可以返回它所包含的byte数
- string的byte数组可以存放任何数据(可见字符、不可见字符)
10、Unicode UTF8
- Unicode是一种字符集(code point)
- UTF8是 unicode 的存储实现(转换为字节序列的规则)
最后
以上就是积极花瓣为你收集整理的Go学习总结——基础的全部内容,希望文章能够帮你解决Go学习总结——基础所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复