Go语言——从数组中截取切片 - Go语言中文社区

Go语言——从数组中截取切片


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

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_42117918/article/details/81913036
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-26 11:20:16
  • 阅读 ( 1061 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢