go 切片

切片[]int 不写长度

长度动态,可随意追加元素

1. 声明切片(最基础)

复制代码
// 空切片
var 切片名 []类型
// 直接初始化(最常用)
切片名 := []类型{值1, 值2}

2. 追加元素(核心!)

append() 函数给切片加元素,自动扩容

复制代码
切片名 = append(切片名, 新元素)

3. 遍历切片(和数组一模一样)

for range 遍历

4. 切片截取(取部分元素)

复制代码
切片[起始:结束]  // 左闭右开

package main

import "fmt"

func main() {
	// 1. 声明并初始化切片(最常用)
	nums := []int{10, 20, 30}
	fmt.Println("初始切片", nums)
	fmt.Println("切片长度", len(nums)) // 当前元素个数
	fmt.Println("切片容量", cap(nums)) // 底层最大容量(底层数组)

	// 2.追加元素
	nums = append(nums, 40)  	// 追加1个
	nums = append(nums, 50,60)  // 追加2个
	fmt.Println(nums)

	// 3.访问/修改元素(和数组一样,下标从0开始)
	nums[0] = 100 // 修改第一个元素
	fmt.Println("修改后:", nums)

	// 4.遍历切片
	fmt.Println("\n===遍历切片===")
	for index, value := range nums {
		fmt.Println("下标: %d => 值 %d \n",index, value)
	}

	// 5.切片截取(取第1~3个元素,左闭右开)
	sub := nums[1:4]
	fmt.Println("\n切片截取: ", sub)


}
相关推荐
ん贤2 小时前
口述Map
开发语言·面试·golang
XMYX-04 小时前
12 - Go Slice:底层原理、扩容机制与常见坑位
开发语言·golang
codeejun4 小时前
每日一Go-50、Go微服务--配置中心
开发语言·微服务·golang
小高Baby@4 小时前
CGO_ENABLED=0 导致 SQLite 驱动初始化失败
数据库·sql·golang·ai编程
U盘失踪了5 小时前
go 数组
golang
王码码203514 小时前
Go语言的测试:从单元测试到集成测试
后端·golang·go·接口
王码码203514 小时前
Go语言中的测试:从单元测试到集成测试
后端·golang·go·接口
lolo大魔王16 小时前
Go语言的异常处理
开发语言·后端·golang
止语Lab1 天前
Go 内存管理优化:内联是逃逸分析的隐藏杠杆
golang