ITPub博客

首页 > 应用开发 > > golang基础之函数function

golang基础之函数function

作者:u_151d1ef45539 时间:2019-11-04 10:09:50 0 删除 编辑

云计算数据库小哥 2019-09-20 00:20:33

一、函数定义声明

func funcName ( a, b int , c string ) ( r , s int ) {

dosomething

return

}

二、golang函数支持特性

1.不定长度变参,即使用...

2.多返回值

3.命名返回值参数

4.匿名函数

5.闭包

6.高阶函数,即函数也可以作为一种类型,参数传递给另外一个函数

三、golang函数目前不支持特性

1.默认值

2.重载

3.嵌套定义,即函数中再定义一个函数

四、函数传参方式说明

1.在golang中函数的参数默认为按值传递,即在函数内部修改传入参数的值是函数外部传入值的拷贝。

2.Go中函数调用只有值传递,但是类型引用有引用类型,他们是:slice、map、channel,这三种类型作为参数传递时,在函数中的修改会影响其外部传入的值。

3.如果想要使用引用传递,需要将传入的参数设置为指针类型。

4.如果传入的参数数据很大,建议使用指针类型,减少内存因拷贝参数而占用。

值传递、引用传递和指针传递的区别:

1.值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。

2.形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作。

3.所谓引用传递是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69927053/viewspace-3156213/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-31

  • 博文量
    155
  • 访问量
    256