栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

go语言值传递介绍

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

go语言值传递介绍

Go语言的参数只能是值传递

值传递是一个拷贝的过程

Go:值传递

func bbb(list [4]int){   for i,_ := range list{      list[i] = 0   }}func main(){   list := [4]int{1,2,3,4}   bbb(list)   fmt.Println(list )   //[1 2 3 4]}

Javascript: 引用传递

let list = [1,2,3,4]function  bbb(list){    list.forEach((item,index)=>{        list[index] = 0    })}bbb(list)console.log(list)   //[0,0,0,0]

但是Go语言可以通过指针来实现引用传递的作用

func bbb(p2 *[4]int){    //接受一个[4]int的指针   for i,_ := range p2{      p2[i] = 0   }}func main(){   list := [4]int{1,2,3,4}   p := &list   bbb(p)     //传递指针   fmt.Println(list )   //[0 0 0 0]}

既然说go语言的参数传递只能是值传递,所以这里实际上是把指针地址拷贝了一份,而两个地址都指向了main函数的变量list的地址,所以才使list的值发生了改变

更多相关知识请关注go语言教程栏目

以上就是go语言值传递介绍的详细内容,更多请关注考高分网其它相关文章!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/794024.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号