Go语言基础切片的创建及初始化示例分析
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"Go语言基础切片的创建及初始化示例分析",在日常操作中,相信很多人在Go语言基础切片的创建及初始化示例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2026年11月01日Go语言基础切片的创建及初始化示例分析make
赋值和切片
切片增长
这篇文章主要介绍"Go语言基础切片的创建及初始化示例分析",在日常操作中,相信很多人在Go语言基础切片的创建及初始化示例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Go语言基础切片的创建及初始化示例分析"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
概述
切片是一种动态数组
按需自动改变大小
与数组相比,切片的长度可以在运行时修改
语法
一、创建和初始化切片
make
使用内置函数make()创建切片:
var slice []type = make([]type, len, cap) //简写: slice := make([]type, len, cap)
字面量
var 变量名 []type
slice1:=[]string{"张三","李四"} // 长度和容量都是5个元素的字符串切片slice2 := []int{10, 20, 30} // 长度和容量都是3个元素的整型切片二、使用切片
赋值和切片
使用[]操作符就可以改变某个元素的,实例如下:
// 创建一个整型切片// 其容量和长度都是5个元素slice1:=[]string{"张三","李四","王五","马六","老七"}// 改变索引为1的元素的值slice1[1] = "小张三"使用切片创建切片
// 创建一个整型切片// 其长度和容量都是5个元素slice1:=[]string{"张三","李四","王五","马六","老七"}// 创建一个新切片// 其长度为3个元素,容量为3个元素newSlice:=slice1[2:5]切片增长
使用append向切片增加元素,同时增加切片的长度和容量
// 创建一个整型切片// 其长度和容量都是5个元素slice1:=[]string{"张三","李四","王五","马六","老七"}// 使用原有的容量来分配一个新元素// 将新元素赋值为60newSlice:=append(slice1,"我是新来的")遍历切片
使用 for range 迭代切片
slice1 := []string{"张三", "李四", "王五", "马六", "老七"}for k, v := range slice1 { fmt.Println(k, v)}使用 for 循环迭代切片
slice1 := []string{"张三", "李四", "王五", "马六", "老七"}for i := 0; i < len(slice1); i++ { fmt.Println(i,slice1[i])}总结
slice 的默认开始位置是0,ar[:n]等价于ar[0:n]
slice是引用类型,是一个指向数组的指针
不能使用 == 来判断两个slice 是给含有全部相同元素
>判断 slice 是否为空,使用 len(s) == 0 , 而不是 s == nil
总示例
package mainimport ( "fmt")func main() { //一、创建切片 var slice []int = make([]int, 3) fmt.Println(slice) slice1 := []string{"张三", "李四", "王五", "马六", "老七"} fmt.Println(slice1) slice2 := []int{10, 20, 30} fmt.Println(slice2) //二、使用切片 //使用[]操作符就可以改变某个元素 slice1[1] = "小张三" fmt.Println(slice1) //使用切片创建切片【下标是从0开始】 newSlice := slice1[0:2] fmt.Println(newSlice) //切片增长 newSlice = append(slice1, "我是新来的") fmt.Println(newSlice) // 使用 for range 迭代切片【k:表示下标,v表示值】 for k, v := range slice1 { fmt.Println(k, v) } // 使用 for 循环迭代切片 for i := 0; i < len(slice1); i++ { fmt.Println(i,slice1[i]) }}示例一 两个slice是否相等
package mainimport ( "fmt" "reflect")func main() { //两个slice是否相等 slice1 := []string{"张三", "李四", "王五", "马六"} slice2 := []string{"张三", "李四", "王五", "马六"} if reflect.DeepEqual(slice1, slice2) { fmt.Println("两个slice相等") } else { fmt.Println("两个slice不相等") }}示例二 两个数字是否包含
package mainimport ( "fmt" "sort" "strings")func main() { slice1 := []string{"张三", "李四", "王五", "马六", "老七"} fmt.Println(slice1) target := "李四" i := sort.Search(len(slice1), func(i int) bool { return slice1[i] >= target }) if strings.EqualFold(slice1[i], target) { fmt.Println(target, "存在,它的下标是", i) } else { fmt.Println("不存在", target) }}到此,关于"Go语言基础切片的创建及初始化示例分析"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
元素
李四
张三
王五
容量
长度
示例
两个
基础
语言
语言基础
分析
学习
迭代
下标
数组
操作符
更多
小张
增长
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网品科技
互联网中国科技
嘟嘟瓜互联网科技
互联网与未来科技
深圳天众互联网科技公司
广西互联网科技公司
隆华科技工业互联网
济南华为互联网科技产业总部基地
互联网科技博主是什么意思
崇明区互联网教育科技诚信经营
阿大互联网科技有限公司
河南住房之家互联网科技
区块链结合互联网科技
上海互联网科技公司ppt
35岁以上互联网科技行业
互联网硬科技公司
云南互联网科技学费
美国五大互联网科技公司市值多少
广州三三互联网科技有限公司
亚光科技低轨卫星互联网
有格互联网科技
深圳市人人互联网科技有限公司
科技赋能下的互联网金融
万易互联网科技
北京禾田雨橡互联网科技
顺网科技2021年互联网排名
济南和联互联网科技有限公司
深圳市运趣互联网科技有限公司
昭通云南众福互联网科技有限公司
易租星互联网科技有限公司