Go速成无压力【七】:切片 (Slices)

本文详细介绍了Go语言中的切片,包括切片的类型、作为数组引用的特性、切片的文法、默认值、长度和容量、空切片、使用make()创建切片、切片的切片以及如何向切片添加元素。切片提供了灵活的数组操作,其长度可动态扩展,并与其他切片共享底层数组。
摘要由CSDN通过智能技术生成

(一)切片 (Slices)

一个数组有足够的适合的长度,但是切片是从另一个方面来定义,是一个动态的尺寸,相当于一个灵活可扩展的数组;在实际操作练习中,切片比数组更常用

(1) 切片的类型表示用 [ ]T ,比如[ ] int , 则切片的类型为int型;
(2) 一个切片由指定的两个索引组成,一个低边界的索引和一个高边界的索引,使用分号分割开,写法如:a[low:high];
(3) 切片索引选择的范围是半开型区间,包含索引的第一个元素,但是不包含第最后一个元素,比如,选择4个元素a[1:5]
(4) 切片的索引是从0开始数数的

package main
import "fmt"
func main(){
   
	v := [5]int{
   1,3,5,7,9}
	fmt.Println("切片的值为:",v)
	var s[]int = v[1:3]
	fmt.Println("切片1到3的范围内的值为:",s)
}

在这里插入图片描述



(二)切片就像对数组的引用

一个切片并不会存储任何值,它仅仅是描述了一个底层的数组;改变切片的元素会相应地改变底层数组的元素,其他共享同样的底层数组的切片也会知道这些改变

package main

import "fmt"

func main() {
   
	s := [4]string{
   
		"kok",
		"galarxy",
		"steven",
		"bot",
	}
	fmt.Println("打印的切片全部值为:", s)

	r1 := s[0:1]
	r2 := s[2:4]
	fmt.Println("切片[0:1]和[2:4]的值分别为:", r1, r2)
	r1[0] = "1024"
	fmt.Println("数组r1的值为", r1)
	fmt.Println("在各种改变了底层数组的值后,切片的值为:", s)
}

在这里插入图片描述



(三)切片的文法

一个切片的文法更像是一个没有长度的数组

数组的文法

[3]bool{
   true,true,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值