当前位置: 首页 > news >正文

住房城乡建设局网站首页深圳网络优化公司

住房城乡建设局网站首页,深圳网络优化公司,商城网站平台怎么做的,怎么做打码网站GO入门之值传递于引用(指针、内存地址)传递扫盲 Go 语言中,值传递和引用(指针)传递是两个关键的概念。通过案例可以很好地展示两者的区别。 值传递与引用传递的区别: 值传递:传递的是变量的副…

GO入门之值传递于引用(指针、内存地址)传递扫盲

Go 语言中,值传递引用(指针)传递是两个关键的概念。通过案例可以很好地展示两者的区别。

值传递与引用传递的区别:

  • 值传递:传递的是变量的副本,对副本的修改不会影响原变量。
  • 引用传递(指针传递):传递的是变量的地址,通过指针修改变量会直接影响原变量。

案例:值传递 vs 引用(指针)传递

go复制代码package mainimport "fmt"// 值传递:函数接收的是一个值的副本
func modifyByValue(x int) {x = 100 // 修改的是副本,不会影响原变量
}// 引用传递(指针传递):函数接收的是一个指针
func modifyByReference(x *int) {*x = 100 // 通过指针修改原始变量的值
}func main() {// 定义一个变量num := 10fmt.Println("初始值:", num)// 值传递modifyByValue(num)fmt.Println("值传递后的值:", num) // 仍然是 10,值传递不改变原值// 引用传递(指针传递)modifyByReference(&num)fmt.Println("引用传递(指针传递)后的值:", num) // 变为 100,指针传递改变了原值
}

运行结果:

初始值: 10
值传递后的值: 10
引用传递(指针传递)后的值: 100

解析:

  1. 值传递
    • modifyByValue(num):传递的是 num 的副本(拷贝),所以函数内部的修改不会影响原来的变量 num
    • num 的值依然是 10
  2. 引用传递(指针传递)
    • modifyByReference(&num):传递的是 num 的内存地址,通过指针 *x 来修改 num 的值。
    • 由于修改的是变量的实际地址,因此 num 的值被改为了 100

总结:

  • 值传递:只是在函数内部修改变量的副本,不会影响外部的变量。
  • 引用(指针)传递:通过传递变量的地址,可以在函数内部直接修改外部变量的值。
http://www.yayakq.cn/news/633528/

相关文章:

  • 建站主机做网站会提供源代码吗
  • 查网站服务器地址网站主页和子页怎么做
  • 盐城营销网站建设建设网站昌都地区
  • 建站公司的工作流程微网站成功案例
  • 遵义市做网站的电话河南艾特软件 网站建设
  • 一站式服务就像一个什么静态网页设计案例
  • 公司网站建设费用入什么科目软件开发公司联系方式
  • 网站怎么做mip技术深圳做网站平台维护的公司
  • dedecms两网站共享用户名谷歌下载官方正版
  • 做购物网站怎拼找商家互联网大厂
  • 公司设立网址谷歌seo网站运营
  • 网站视频下载脚本免费的网站或软件
  • 科技网站哪个好国内建筑公司排名
  • 思帽网站建设邢台信息港聊天室
  • 个人网站备案核验单中国最好的建设网站
  • 在哪个网站做问卷好有哪些网站可以做店面设计软件
  • 做国外电影网站国模 wordpress
  • 南昌网站优化网站开发网络推广平台服务
  • 深圳哪家网站建设wordpress网易云插件怎么用
  • 学院网站建设报价免费培训班报名官网
  • 4大门户网站做一个简单网页
  • 网站登记模板上海网站注销
  • 嘉兴优化网站公司网站图片加水印
  • 建设一个一般网站需要多少钱湖南响应式网站方案
  • 赣榆网站建设xxiaoseo自助建站平台设计器
  • 网站排名优化方法大连公司电话
  • 青海做网站最好的公司wordpress 阅读更多
  • 济南做平台网站的后端开发工程师
  • 做网页和网站一样吗新余集团网站建设
  • 十堰门户网站建设开发区全力做好网站建设