go语音基础之切片

1、切片的长度和容量

流程分析:

示例:

package main //必须有个main包

import "fmt"

func main() {
	a := []int{1, 2, 3, 4, 5}
	s := a[0:3:5]
	fmt.Println("s = ", s)
	fmt.Println("len(s) = ", len(s)) //长度  3-0
	fmt.Println("cap(s) = ", cap(s)) //容量  5-0

	s = a[1:4:5]
	fmt.Println("s = ", s)           //从下标1开始,取4-1=3个
	fmt.Println("len(s) = ", len(s)) //长度  4-1
	fmt.Println("cap(s) = ", cap(s)) //容量  5-1
}

执行结果:

s =  [1 2 3]    // 从1开始,取3位  {1, 2, 3, 4, 5}
len(s) =  3     // 切看的长度  长度  3-0
cap(s) =  5    // 切片的容量  容量  5-0
s =  [2 3 4]   // 从下标1开始,取4-1=3个
len(s) =  3    // 4-1=3  用长度减1
cap(s) =  4   // 5-1,切片的容量减1

  

猜你喜欢

转载自www.cnblogs.com/nulige/p/10239352.html