温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何实现切片输

发布时间:2021-10-14 15:01:11 阅读:130 作者:iii 栏目:编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要讲解了“如何实现切片输”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现切片输”吧!

首先,s[low : high : max]构造的切片内容和s[low : high]相同,只是在容量上有差别,这一点后面会介绍。另外这种格式只适用于数组和切片不能用于字符串。这一点请大家注意!

如何实现切片输  

其次,s[low : high : max]s[low : high]容量不同。s[low : high]生成切片的容量为cap(s) - low, 而s[low : high : max]的容量为max - low

最后,s[low : high : max]中索引的范围为0 <= low <= high <= max <= cap(s)

现在我们回顾一下前一篇文章中的面试题。

arr := []int{12345678}s1 := arr[2:5:7// s1的内容为[3,4,5]且容量为5s1 = append(s1, 999) // s1内容为[3,4,5,999]fmt.Println(s1, arr) // s1切片容量为5且和arr共用底层数组,故无需扩容,所以arr对应的值也发生变化 

到这儿相信各位读者以后再遇见类似的面试题就可以随便拿捏了。下面继续来看一下今天的正餐。

s1 := []byte{1}s1 = append(s1, 2)s2 := []int{12}s2 = append(s2, 3)s2 = append(s2, 4)s2 = append(s2, 5)s3 := []int{12}s3 = append(s3, 345)fmt.Println(cap(s1), cap(s2), cap(s3))

感谢各位的阅读,以上就是“如何实现切片输”的内容了,经过本文的学习后,相信大家对如何实现切片输这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/2011371/blog/5014454

go
AI

开发者交流群×