标点符号
1.go语言中在语句后面加“;”和不加“;"都是可以的,但一般建议不加 2.函数中的"{"一定要与函数在同一行,否则会编译错误
变量声明的四种方法
1.var a int
声明一个变量,且默认值为0
2.var b int=100
声明一个变量,且对变量进行初始化
3.var c=100
在初始化的时候省去数据类型,通过值自动匹配当前的变量的数据类型
4.e:=100
省去var关键字,直接自动匹配。 这种方法不支持全局变量。
此外的多变量声明方法
单行写法
var a,b int=100,200
var c,d=100,"hello"
多行写法
var{
a int=100
b bool=true
}
常量和iota
- 常量的定义:常量是不可以被改变的
const a int = 10
const(
a=10
b=20
)
2.iota:与const结合使用,表示枚举类型
const(
a=2*iota //iota=0
b //iota=1
c //iota=2
)
在const()里面添加关键字iota,每行iota都会累加1,第一行的iota的默认值为0
切片slice
- 数组声明方法(固定长度的数组)
- var myArray1 [10]int
- myArray2:=[10]int{1,2,3,4}
- myArray3:=[4]int{1,2,3,4}
- slice(动态数组)
- myArray:=[]int{1,2,3,4}
- 动态数组在传参上是引用传递,而且不同元素长度的动态数组他们的形参是一致的
- slice声明方法
- slicel := []int{1,2,3}
声明slice1是一个切片,并且初始化,默认值是1,2,3。 长度Len是3 - var slice1 []int
开牌3个空间 ,默认值是0 - slice2 = make(int,3)
开辟3个空间,默认值为0 - var slice1 []int=make([]int,3)
声明slice1是一个切片,但并没有给slice分配空间,3个空间,初始化是0 - slice1 :=make([]int,3)
声明stice1是一个切片,同时给stice分配空间,3个空间,初始化值是0,通过:=推导出slice是一个切片