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)


}
相关推荐
大侠锅锅7 小时前
第 9 篇:状态机实践——状态环 + 步进表替代 if-else 地狱
golang·边缘计算·状态机
进击的程序猿~9 小时前
Go Slice源码深度解析指南
开发语言·后端·golang
北冥you鱼1 天前
Go 语言初始化 MySQL 数据库实战指南:从零到生产环境部署
数据库·mysql·golang
名字还没想好☜1 天前
Go error 处理:errors.Is/As 与错误包装
开发语言·后端·golang·go·错误处理
灯澜忆梦1 天前
Go 工程管理与作用域
golang
进击的程序猿~2 天前
Go Zero源码阅读1
后端·golang
李燚2 天前
Go 项目怎么组织:DDD 4 层 vs MVC vs 脚本式
开发语言·golang·mvc·ddd·agent框架·eino
Generalzy2 天前
从 Web 页面到桌面应用:用 Go + WebView 构建一个轻量级桌面框架
开发语言·前端·golang
灯澜忆梦2 天前
GO_函数_2
开发语言·golang·xcode
灯澜忆梦2 天前
Go 语言圣经 5 | 函数全解:声明、签名、闭包、Defer、Panic 错误处理
数据结构·算法·golang