[函数编程]:函数传参的方式

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 ---

posted @ 2021-12-21 23:25  渝北小站  阅读(47)  评论(0编辑  收藏  举报