golang 数组和切片初始化方式

一、数组初始化方式

  • 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是根据初始化长度而定的
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容