go语言的形参占用内存吗
函数是组织好的、可重复使用的、用来实现单一或相关联功能的代码段,其可以提高应用的模块性和代码的重复利用率。
函数定义和函数调用
函数构成了代码执行的逻辑结构,在Go语言中,函数的基本组成为:关键字 func、函数名、参数列表、返回值、函数体和返回语句,每一个程序都包含很多的函数,函数是基本的代码块。
定义语法:
func 函数名(形参列表)(返回值类型列表) {
函数体,通常会有return语句,返回值
}
-
函数名:函数的标识符,用于找到函数,内部是一个指向函数代码的地址。
-
形参列表:由变量和类型构成
-
返回值类型列表:函数返回值的类型,多个返回值需要指定多个。
-
函数体:实现函数功能的具体语句。 return语句:返回值语句
函数调用语法:
函数名(实参列表)
函数参数
用于在调用函数时向函数传递数据。
-
实参,实际参数。调用时给的参数。指的是具有的特定实际数据的参数。
-
形参,形式参数。定义时使用的参数。指的是用来表示函数需要参数,而定义时参数是没有任实际何数据的。 函数/方法在被调用前没有为他们分配内存,其作用是说明自变量的类型和形态以及在过程中的作用。
实参与形参的关系:形参只能是变量(要指明它的数据类型);实参可以是变量、常量或者表达式。
实参与形参的个数、位置以及它们对应的数据类型应当一致。
当调用时会发生使用实参为形参变量赋值的过程,称为参数的传递。在函数的执行期间,形参是有具体数据的,形参当于函数内声明的变量。参数的传递,分为值传递,地址传递两种方式。地址传递时,需要形参定义为指针类型,调用时需要取得地址传参。
-
调用函数时若出现实参是数组名,则传递给形参的时数组的首地址。
-
实参传递给形参是单向传递。形参变量在未出现函数调用时并不占用内存,只在调用时才占用。调用结束后将释放内存。
示例代码:
func funcTest(p1 int, p2 *int) {
p1
*p2
fmt.Println(p1, *p2)
}
func main() {
var (
a1 = 42
a2 = 42
)
funcTest(a1, &a2)
// 参数赋值过程
fmt.Println(a1, a2)
}
以上会输出
43 43
42 43
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanfiaaa
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24