Go语言中的切片和数组有什么区别?
定义方式:数组的长度是固定的,在定义时需要指定长度;而切片是动态的,不需要指定长度。
// 数组 var arr [3]int// 切片 var slice []int
内存分配:数组是值类型,在栈上分配内存;切片是引用类型,在堆上分配内存。
- 传递方式:数组作为参数传递时是值传递,会复制整个数组;切片作为参数传递时是引用传递,只复制切片的头信息。
定义方式:数组的长度是固定的,在定义时需要指定长度;而切片是动态的,不需要指定长度。
// 数组 var arr [3]int// 切片 var slice []int
内存分配:数组是值类型,在栈上分配内存;切片是引用类型,在堆上分配内存。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38638.html
如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!