go语言中数组与切片的区别
来源:互联网 发布:上海特效牙膏知乎 编辑:程序博客网 时间:2024/05/29 14:54
一句话总结:切片是动态数组,注意两者初始化和函数参数的区别
1、初始化的区别
数组: a := [...]int{1,2,3} a := [3]int{1,2,3}
切片: a:= []int{1,2,3} a := make([]int, 5) a := make([]int, 5, 10)
2、函数传递
数组是值传递,切片是引用传递
package main
import (
"fmt"
)
func changeArray(a [3]int) {
a[0] = 99
}
func changeSlice(s []int) {
s[0] = 99
}
func main() {
a := [...]int{1, 2, 3}
changeArray(a)
fmt.Println(a)
s := make([]int, 5, 10)
changeSlice(s)
fmt.Println(s)
}
[1 2 3]
[99 0 0 0 0]
成功: 进程退出代码 0.
阅读全文
0 0
- go语言中数组与切片的区别
- go语言中数组与切片的区别
- Go语言的数组,切片,set,map
- Go数组与切片
- go的学习记录(二)--- 数组与数组切片
- GO 语言 切片和底层数组的关系
- go语言之数组和切片的一些用法比较
- go语言学习----字符串、数组和切片的应用
- go语言学习-数组切片的创建和使用方法
- Go语言切片的本质
- Go语言基础入门--数组,切片,map
- Go语言4-数组、切片及map
- Go语言中数组和slice的区别
- 5.go slice, 切片与数组, map
- Golang中 的数组与切片
- Go学习笔记-Go语言数组array和切片slice
- Go语言中Slice(切片)初探
- Go语言切片的用法和本质
- 选择排序
- Android App 启动页(Splash)黑/白闪屏现象产生原因与解决办法
- ffmpeg系列:基于QT的播放器界面绘制
- 047day(复制构造函数和递归例题(波兰表达式)的学习)
- 考研倒计时30天的感想
- go语言中数组与切片的区别
- 如何使背景图片自适应屏幕
- Java面向对象三大特征之继承
- 51Nod 1305 Pairwise Sum and Divide
- aspx,ascx和ashx使用小结
- MongoDB笔记三
- 20171126
- JavaSE基础知识学习—Static关键字
- sklearn.cross_validation 0.18版本废弃警告及解决方法