13.1.2 关于函数的说明

1、go文件运行时,代码会存放在内存的代码区。
2、一个函数被调用时【原本是作为代码放在代码区】,编译器会向系统在内存给它申请一个专门的栈区,
和其他的空间是区分开的。
因此函数内申明的变量(当然包括形参和返回参数),其作用域只在函数内,不影响到函数外;但接收的
参数是引用类型时,由于引用类型的特性,会影响到函数外的该指针指向的值;当函数内某一变量并非
传参进来,也非函数内部自己申明的,而是函数外的变量(全局变量或该函数之前的代码里的变量),
即出现了闭包情形时,则也会影响到函数外的该变量。

3、一个函数被调用执行完毕后,函数被调用时开辟的栈空间会自动被销毁【并不是说放函数代码的空间被销毁】

4、函数的形参列表和返回参数列表【指返回参数和类型一起写在大括号之前的情形,返回列表内返回值多于一
个的返回参数列表整体需加小括号;返回值和类型也可以分开,返回值写在函数内的return的后面,返回类型写在大括号前】
即就是申明了形参和返回值,函数可以没有形参;函数可以没有返回值,没有返回值的函数里无需关
键词return;有返回值的函数在被调用时,可以不去接收其全部返回值,想不接收其某个返回
值的,用占位符接收相应顺序的返回值。

5、像int、string等一样,函数也是一种数据类型。
例如 var n int 则变量是n,变量名是n,变量类型是int。
例如 func test(a int,b int)int { }
则变量是test,变量名是函数名test,变量类型是 func(int,int)int

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值