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)


}
相关推荐
Achou.Wang8 小时前
深入理解go语言-第5章 并发编程——Go的灵魂
大数据·算法·golang
名字还没想好☜11 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
ttwuai13 小时前
GoFrame 后台日志清空失败:无 WHERE 删除为什么被拦住
前端·golang
进击的程序猿~14 小时前
Go 并发底层原理面试学习指南
开发语言·面试·golang
不在逃避q15 小时前
Golang笔记之Redis
redis·笔记·golang
geovindu21 小时前
go:loghelper
开发语言·后端·golang
呐抹倾1 天前
go学习笔记:panic是什么含义
笔记·学习·golang
会编程的土豆1 天前
GoWeb 处理请求详解:请求行、请求头、请求参数与给客户端响应
开发语言·http·golang
北冥you鱼2 天前
Go语言 sql.Null 类型详解:处理数据库 NULL 值的正确姿势
数据库·sql·golang
朋克洛德的码农2 天前
go并发的核心数据结构--channel
开发语言·数据结构·golang