100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > go语言 函数相关1:实参到形参的传递永远是值拷贝

go语言 函数相关1:实参到形参的传递永远是值拷贝

时间:2022-10-22 00:29:42

相关推荐

go语言 函数相关1:实参到形参的传递永远是值拷贝

相关知识点

a. 函数实参到形参的传递永远是值拷贝

b. 函数参数 支持不定长参数,不定参数名在函数体 内相当于切片,对切片的操作同样适合对不定参数的操作

c. 切片是引用类型,值包含指向数组的指针

func test1(s ...int) {// s为不定长参数s[0] = 888}func test2(s2 []int) {s2[0] = 9999}func main() {var a = [...]int{0, 1, 2, 3, 4, 5} // a是一个数组var b = a[2:] // b是基于a的切片b[0] = 1000// 实际上修改的是底层数组test1(b...)// 虽然是值拷贝,但是 切片是引用类型, 就算是值拷贝,传递过去的也包含 指向底层数组的指针fmt.Println(b) // [888 3 4 5]fmt.Println(a) // [0 1 888 3 4 5]test2(b)fmt.Println(b) //[9999 3 4 5]fmt.Println(a) //[0 1 9999 3 4 5]}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。