Go 语言初级教程之五[函数]

声明函数的语法与C不同。就像变量声明一样,类型是在它们所描述的术语之后声明的。在C语言中:

  1. int add(int a, b) { return a + b }


在Go里面是这样描述的:
 

  1. func add(a, b int) int { return a + b }



多返回值
在C语言当中常见的做法是保留一个返回值来表示错误(比如,read() 返回0),或 者保留返回值来通知状态,并将传递存储结果的内存地址的指针。这容易产生了不安全的编程实践,因此在像Go语言这样有良好管理的语言中是不可行的。
认识到这一问题的影响已超出了函数结果与错误通讯的简单需求的范畴,Go的作者们在语言中内建了函数返回多个值的能力。
作为例子,这个函数将返回整数除法的两个部分:
 

  1. func divide(a, b int) (int, int) {
     
  2.     quotient := a / b  
     
  3.     remainder := a % b  
     
  4.     return quotient, remainder
     
  5. }


有了多个返回值,有良好的代码文档会更好——而Go允许你给返回值命名,就像参数一样。你可以对这些返回的变量赋值,就像其它的变量一样。所以我们可以重写divide :

阅读全文>>

你可能感兴趣的:(Go 语言初级教程之五[函数])