go 函数
  dy78R63Mycs7 2023年11月13日 24 0
  1. 函数:
  • 声明:

  func 函数名字 (参数列表) (返回值列表){}


  • 举例:

  func add() {}

  func add(a int , b int) int {}

  func add(a int , b int) (int, int) {}


  • 特点:

  a. 不支持重载,一个包不能有两个名字一样的函数.

  b. 函数也是一种类型,一个函数可以赋值给变量(这个变量是一个指针指向函数地址).

  c. 匿名函数

  d. 多返回值

  e. type定义新的类型:type addFunc func(int, int) int  => 表示函数也是一种类型


  • 函数参数传递方式:

  a. 值传递

  b. 引用传递

  c. 值传递、引用传递,传递给函数的都是变量的副本.值传递是值的拷贝,引用传递是地址(8个字节)的拷贝.

  d. 一般来说,地址拷贝更为高效.值拷贝取决于拷贝的对象大小,对象越大,则性能越低.

  e. map、slice、chan、指针、interface默认以引用的方式传递.


  • 命名返回值的名字:

  func calc(a, b int) (sum int, avg int) {

     sum = a + b

     avg = (a +b) / 2

     return

  }


  • _标识符,用来忽略返回值.

  a, _ = add()

  _, a = add()


  • 可变参数:

  func add(arg…int) int {}              // 0个或多个参数

  func add(a int, arg…int) int {}       // 1个或多个参数,a是固定参数(可以有多个固定参数)

  a. arg是一个slice(切片).

  b. 通过arg[index]依次访问所有参数.

  c. 通过len(arg)来判断传递参数的个数.

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读