永发信息网

Go语言中怎么通过一个字符串调用对应名称的函数

答案:1  悬赏:10  手机版
解决时间 2021-04-01 22:22
Go语言中怎么通过一个字符串调用对应名称的函数
最佳答案
按值传递函数参数,是拷贝参数的实际值到函数的形式参数的方法调用。在这种情况下,参数在函数内变化对参数不会有影响。
默认情况下,Go编程语言使用调用通过值的方法来传递参数。在一般情况下,这意味着,在函数内码不能改变用来调用所述函数的参数。考虑函数swap()的定义如下。
代码如下:

func swap(int x, int y) int {
var temp int
temp = x
x = y
y = temp
return temp;
}
现在,让我们通过使实际值作为在以下示例调用函数swap():
代码如下:
package main
import "fmt"
func main() {

var a int = 100
var b int = 200
fmt.Printf("Before swap, value of a : %d\n", a )
fmt.Printf("Before swap, value of b : %d\n", b )

swap(a, b)
fmt.Printf("After swap, value of a : %d\n", a )
fmt.Printf("After swap, value of b : %d\n", b )
}
func swap(x, y int) int {
var temp int
temp = x
x = y
y = temp
return temp;
}
让我们把上面的代码放在一个C文件,编译并执行它,它会产生以下结果:
Before swap, value of a :100
Before swap, value of b :200
After swap, value of a :100
After swap, value of b :200
这表明,参数值没有被改变,虽然它们已经在函数内部改变。
通过传递函数参数,即是拷贝参数的地址到形式参数的参考方法调用。在函数内部,地址是访问调用中使用的实际参数。这意味着,对参数的更改会影响传递的参数。
要通过引用传递的值,参数的指针被传递给函数就像任何其他的值。所以,相应的,需要声明函数的参数为指针类型如下面的函数swap(),它的交换两个整型变量的值指向它的参数。
代码如下:

func swap(x *int, y *int) {
var temp int
temp = *x
*x = *y
*y = temp
}
现在,让我们调用函数swap()通过引用作为在下面的示例中传递数值:
代码如下:
package main
import "fmt"
func main() {

var a int = 100
var b int= 200
fmt.Printf("Before swap, value of a : %d\n", a )
fmt.Printf("Before swap, value of b : %d\n", b )

swap(&a, &b)
fmt.Printf("After swap, value of a : %d\n", a )
fmt.Printf("After swap, value of b : %d\n", b )
}
func swap(x *int, y *int) {
var temp int
temp = *x
*x = *y
*y = temp
}
让我们把上面的代码放在一个C文件,编译并执行它,它会产生以下结果:
Before swap, value of a :100
Before swap, value of b :200
After swap, value of a :200
After swap, value of b :100
这表明变化的功能以及不同于通过值调用的外部体现的改变不能反映函数之外。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
江西南昌绿滋肴的东西比超市便宜吗
如图右边,动漫男生蓝色头发戴眼镜是哪个动漫
怎样加入美团抢单送外卖?
qq便民充值怎么查询记录
石横到泰安的客车时刻?
新买来一块1t的机械硬盘不知道怎么安装 求解
5O万元左右SuV什么车比较好
________工业区、________工业区、________工
大猪拉稀怎么办啊?急!
在车上贴别的车标可以吗(不遮挡本身车标)
重庆市家庭电话月租费为25元,市内通话费平均
庚申正月游齐安什么意思
微机继电保护测试仪三相与六相有什么区别?
海安县到无锡市锡山区东亭中路与锡州路交叉口
X5032立式铣床主轴用机油润滑还是黄油润滑
推荐资讯
小明比小丁小,小明今年a岁,,小丁今年b岁,
喝生冬瓜汁有什么作用
出售正宗德国产卡尔迈耶HKS-2经编机
民国时期的手抄本也属于文物吗
有10000个数减3000加2000……几次减到0
PU皮白色包包染色怎么清洗?
智健书店玩具地址有知道的么?有点事想过去
vba 判断合并单元格的内容
万家邻里交通方便吗?应该怎么过去?
#重庆足球训练#
几的多音字组词是什么
以作品为例论述常见的几种文学风格类型
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?