[函数编程]:函数传参的方式
python 和 golang 中 函数传参的方式。
- python
python 程序向函数传递参数的时候,传递的是原参数本身,我们可以通过检验下列代码中 nums 变量在传入函数前、传入函数后的内存地址,来验证这个结论:
def my_func(nums):
print("参数在函数内部时\nid=",id(nums))
return None
temp = 99
print("参数在外部时\nid=",id(temp))
my_func(temp)
# [运行结果如下]:########################
"""
参数在外部时
id= 140724393030512
参数在函数内部时
id= 140724393030512
"""
# #######################################
- golang
在 golang 中,则是将参数的值拷贝一份,在函数内部作用域中定义一个临时变量,来存储这个拷贝后的值,以完成参数传递。
package main
import "fmt"
func trys(nums int) string {
fmt.Printf("参数在函数内部时\nid=")
fmt.Println(&nums)
return "ok"
}
func main() {
temp := 99
fmt.Printf("参数在外部时\nid=")
fmt.Println(&temp)
trys(temp)
}
/* [运行结果如下]:########################
参数在外部时
id=0xc0000120a8
参数在函数内部时
id=0xc0000120d0
####################################### */
--- to be continue ---
本文来自博客园,作者:渝北小站,转载请注明原文链接:https://www.cnblogs.com/timgunt/p/15717682.html