golang语法系列7-切片

本文详细讲解了切片在编程中的关键概念,包括长度(len)、容量(cap)的应用,并通过实例展示了如何操作和调整切片。重点介绍了如何在Python中使用`append`函数扩展切片,以及容量扩大的规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

切片知识点:

1.理解切片的长度len

2.理解切片的容量cap

package main

import "fmt"

func main() {
	s := make([]int,10)
	//s := []int{2000}
	printSlice(s)
	//var a []int
	for i := 1; i < 30; i++ {
		s = append(s, 100+i)
		printSlice(s)
	}



    s1:= []int{1,2,3,4,5,6}
	s1 = s1[:3]
	s1[2] = 33
	//此时s1的长度len为3,并且33覆盖3
	printSlice(s1)

	//由于s1的长度len为3,容量为6,append 44,没有超过容量,所以覆盖4
	s1 = append(s1,44) 
	printSlice(s1)

	//扩大s1的长度len为6;注意:不能超过容量
	//此时s1的长度len为6,容量保持不变
	s1 = s1[:6]
	printSlice(s1)

	//由于s1的长度为6,容量也为6,调用append函数会扩大容量
	//扩大容量规则:1.原来容量小于1024,则扩大到原来容量的2倍;2.原容量大于或等于1024,则扩大到原来容量的1.25倍
    //所以此时s1的长度len为7;容量变为12
	s1 = append(s1,77) 
	printSlice(s1)

	//由于s1的长度len为7,容量为12,再append 88 不会超过容量
	//所以len为8,容量保持不变
	s1 = append(s1,88)
	printSlice(s1)
}

func printSlice(s []int) {
	fmt.Printf("len=%d cap=%d %v\n", len(s), cap(s), s)
}

https://blog.youkuaiyun.com/u013474436/article/details/88770501

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值