社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
Go语言中 从数组中截取切片:
1) 如果没有指定max:max的值为截取对象(数组、切片)的容量
2) 如果指定max:max 值不能超过原对象(数组、切片)的容量。
3)利用数组创建切片,切片操作的是同一个底层数组。
package main
import "fmt"
func main() {
arr:=[10]int{1,2,3,4,5,6,7,8,9,10}
fmt.Println("原数组:",arr)
fmt.Println("对数组进行截取:")
//如果指定max,max的值最大不能超过截取对象(数组、切片)的容量
s1:=arr[2:5:9] //max:9 low:2 high;5 len:5-2(len=high-low) cap:9-2(cap=max-low)
fmt.Printf("数组截取之后的类型为:%T, 数据是:%v;长度:%d;容量:%dn",s1,s1, len(s1), cap(s1))
//如果没有指定max,max的值为截取对象(切片、数组)的容量
s2:=s1[1:7] //max:7 low:1 high;7 len:7-1(len=high-low) cap:7-1(cap=max-low)
fmt.Println("对切片进行截取:")
fmt.Printf("对切片进行截取之后的数据是:%v,长度:%d; 容量%dn",s2, len(s2), cap(s2))
//利用数组创建切片,切片操作的是同一个底层数组
s1[0]=8888
s2[0]=6666
fmt.Println("操作之后的数组为:",arr)
/*
切片对数组的截取 最终都是切片操作的底层数组(通过指针操作原数组)
*/
}
➢了解更多Go语言知识:https://study.163.com/course/introduction/1210620804.htm
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!