go语言切片

1.数组与切片的联系与区别

切片是一个不定大小的数组 

所以区别即是 定义时加了大小是数组  不加大小是切片

var variable_name [SIZE]variable_type
var variable_name [SIZE][SIZE]variable_type
var slicel []type

2.用append()向切片里添加元素,copy()复制函数

len()获取切片的长度(元素个数) cap()获取切片容量

3.一维切片

package main

import "fmt"

func main () {
	var sliecl []int
	sliecl = append(sliecl, 1)
	len_s := len(sliecl)
	cap_s := cap(sliecl)
	fmt.Println(sliecl,len_s, cap_s)
}
//[1] 1 1

4.二维切片

   1)这里注意二维切片的添加方式,先创建一个一维切片,然后再将一维切片添加进去

   2)获取长度,如果只是变量名,获取的是行数,加上行数,获取的是当前行的长度(列数)

  3)容量同上,容量的配置大小,由系统定义,这里不叙述

package main

import "fmt"

func main () {
	var sliecl [][]int
	
	var sliecl2 []int
    sliecl2 = append(sliecl2, 1, 2, 3)
	sliecl = append(sliecl, sliecl2)
	var sliecl3 []int
	sliecl3 = append(sliecl3, 4, 5, 6, 7)
	sliecl = append(sliecl, sliecl3)
	
	len_s := len(sliecl)
	cap_s := cap(sliecl)
	fmt.Println(sliecl,len_s, cap_s)
	
	len_s2 := len(sliecl[0])
	cap_s2 := cap(sliecl[0])
	fmt.Println(sliecl,len_s2, cap_s2)
	
	len_s3 := len(sliecl[1])
	cap_s3 := cap(sliecl[1])
	fmt.Println(sliecl,len_s3, cap_s3)

}

//[[1 2 3] [4 5 6 7]] 2 2
//[[1 2 3] [4 5 6 7]] 3 4
//[[1 2 3] [4 5 6 7]] 4 4

猜你喜欢

转载自blog.csdn.net/dyd961121/article/details/81226420