go数组与切片

 定义数组(2种方式):

var arr = [5]int{1,2,3,4,5}                    // 指定数组长度为5

var arr2 = [...]int{1,2,3,4,5,6,7,8,9}     // "..."表示由编译器确定数组大小(9)

可以先定义数组后赋值

var arr [4]int                                       // 也要指定长度

arr[0]=1;   arr[1]=2;   arr[2]=3;  arr[3]=4 

Go 语言数组声明需要指定元素类型及元素个数

不指定也会根据初始化的元素个数自动推算出大小,不可改变

数组需要明确指定大小,切片不指定大小

定义切片:

func main() {
    /*通过数组来初始化切片*/
    var arr = [...]int {2,6,9,8,1}   // 先定义数组, 大小为5
    var s1 = arr[:]                  // 切片s1 -> [2,6,9,8,1]
    var s2 = arr[1:3]                // [6,9]      取不到最后一个, 1<= index <3
    var s3 = arr[1:]                 // [6,9,8,1]
    var s4 = arr[:4]                 // [2,6,9,8]   取不到最后一个
	
    /*通过切片来初始化切片*/
    var s5 = s1[2:]            		// [9,8,1]
	
    /*直接初始化切片, make([]type, len, cap)*/
    var s6 = make([]int , 3, 6)		// [0,0,0]
    /*直接赋值初始化切片, 可以看到如下的中括号里面没有内容*/
    var s7 = []int {1,2,3,4,5}		// [1,2,3,4,5]
}

var s []type 用于定义切片, 通常[]type是省略了的, 所以如下是错误的操作

var s []int = [5]int{1,2,3,4,5}    // 左边是定义切片, 右边是数组

 

数组与切片的打印可使用%v

func main() {
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值