Go 切片类型,定义切片。切片的地址,切片的容量

本文通过实例代码详细介绍了Go语言中切片的类型定义、切片地址的概念以及切片的容量和扩容机制。通过`demo.go`文件的三个部分,分别展示了切片的基本操作,包括如何获取切片的地址,以及如何查看和改变切片的容量。
摘要由CSDN通过智能技术生成

 

demo.go(切片类型):

package main

import "fmt"

func main() {
	// 定义切片  (数组长度固定,切片的长度可以不固定)
	var slice = []int{1,2,3,4,10:5}  // 10表示下标
	slice[1] = 100
	fmt.Println(slice)  // [1 100 3 4 0 0 0 0 0 0 5]
	fmt.Println(len(slice))  // 11 长度11

	// append 切片可以动态添加数据  (数组的长度是固定的,不能动态添加数据)
	slice = append(slice,666)  // 切片的长度发生了改变
	slice2 := append(slice,777,888)  // 可以添加多个元素
	fmt.Println(slice2)  // [1 100 3 4 0 0 0 0 0 0 5 666 777 888]

	// 定义切片 (第二种方式)
	var slice3 []int  // 默认长度是0
	// slice3[0] = 11 // 会报错。 slice3的默认长度是0
	// 可以通过append动态添加元素
	slice3 = append(slice3, 1,2,3,4,5)
	fmt.Println(slice3)  // [1 2 3 4 5]

	// 定义切片 (第三种方式) make定义切片并指定初始长度  make(切片类型,长度[,容量])
	var slice4 = make([]int, 10, 20)  // 长度10,容量20(提前开辟内存空间,append添加数据不超容量时,切片地址不会变)。 容量可以省略不写。
	fmt.Println(slice4)  // [0 0 0 0 0 0 0 0 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值