• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

69_Go基础_1_36函数的值传递-引用传递

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 1 package main
 2 
 3 import "fmt"
 4 
 5 func fun1(num int) { // 值传递:num = a = 10
 6     fmt.Println("fun1()函数中,num的值:", num)
 7     num = 100
 8     fmt.Println("fun1()函数中修改num:", num)
 9 }
10 
11 func fun2(p1 *int) { //传递的是a的地址,就是引用传递
12     fmt.Println("fun2()函数中,p1:", *p1)
13     *p1 = 200
14     fmt.Println("fun2()函数中,修改p1:", *p1)
15 }
16 
17 func fun3(arr2 [4]int) { // 值传递
18     fmt.Println("fun3()函数中数组的:", arr2)
19     arr2[0] = 100
20     fmt.Println("fun3()函数中修改数组:", arr2)
21 }
22 
23 func fun4(p2 *[4]int) { // 引用传递
24     fmt.Println("fun4()函数中的数组指针:", p2)
25     p2[0] = 200
26     fmt.Println("fun4()函数中的数组指针:", p2)
27 }
28 
29 func main() {
30     /*
31         指针作为参数:
32 
33         参数的传递:值传递,引用传递
34     */
35 
36     a := 10
37     fmt.Println("fun1()函数调用前,a:", a) // 10
38     fun1(a)                          // 值传递,函数中修改a
39     fmt.Println("fun1()函数调用后,a:", a) // 10, 未改变
40 
41     fun2(&a)
42     fmt.Println("fun2()函数调用后,a:", a) // 200
43 
44     arr1 := [4]int{1, 2, 3, 4}
45     fmt.Println("fun3()函数调用前:", arr1) // [1 2 3 4]
46     fun3(arr1)
47     fmt.Println("fun3()函数调用后:", arr1) // [1 2 3 4]
48 
49     fun4(&arr1)
50     fmt.Println("fun4()函数调用后:", arr1) // [200 2 3 4]
51 
52 }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Golang]升级gin框架和jwt-go发布时间:2022-07-10
下一篇:
Go安装配置和《菜鸟教程之Go语言教程》学习笔记发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap