golang 数组和切片初始化方式
2018-08-29 本文已影响0人
Tim_SSS
一、数组初始化方式
- var [length]Type
var array [5]int //这种方式,只是初始化,不带初始化值,数组长度,已经定义好, 但是其实初始化的值,已经有了并且是该类型的最小值(bool false),int 0, string ' ' 其他,自行验证
- var [N]Type{value1, value2, ... , valueN}
var array = [5]int{1, 2, 3, 4, 5} // 这种方式,既初始化变量,又带了初始化值,数组长度已经定义好
- var [...]Type{value1, value2, ... , valueN}
var array = [...]int{1, 2, 3, 4, 5} // 这种方式,既初始化变量,也是带了初始值,数组长度,根据初始值的个数而定,也就是五个
- :=[N]Type{value1, value2, ... , valueN}
array :=[5]int{1, 2, 3, 4, 5} // 这种方式,省去 var 关键词,将初始化变量和赋值,放在一起操作,这种方式简单,明了。
- := [...]Type{value1, value2, ... , valueN}
array := [...]int{1, 2, 3, 4, 5} // 这种方式,既初始化变量,也是带了初始值,数组长度,根据初始值的个数而定,也就是五个
二、切片初始化方式
- make ( []Type ,length, capacity )
slice := make([]int, 3, 5)
- make ( []Type, length)
slice := make([]int, 5)
- []Type{}
slice := []int{}
- []Type{value1 , value2 , ... , valueN }
slice := []int{1, 2, 3, 4, 5} // 这种方式,len是根据初始化长度而定的