50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Go Functions | |||
|  | localeTitle: 去功能 | |||
|  | --- | |||
|  | ## 去功能
 | |||
|  | 
 | |||
|  | 函数是在调用任务时执行任务的代码块,这样函数的名称就可以识别它并用于调用函数。 | |||
|  | 
 | |||
|  | 函数的声明以关键字`func`开头,后跟函数的名称,然后是函数的参数,最后是返回的值类型。声明将函数名称绑定到函数。请记住,类型位于参数和返回值中的变量名之后。函数声明的示例如下 | |||
|  | 
 | |||
|  | ```go | |||
|  | func add(a int, b int) int  | |||
|  | ``` | |||
|  | 
 | |||
|  | 函数可以有0个或多个参数,具体取决于其所需的功能 | |||
|  | 
 | |||
|  | ```go | |||
|  | func zero() int { /* Function Definition */ }  | |||
|  |  func increment(x int) int { /* Function Definition */ }  | |||
|  |  func add(x, y int) int { /* Function Definition */ }  | |||
|  | ``` | |||
|  | 
 | |||
|  | Go支持返回多个值。下面的函数返回2个值:2个参数的总和,以及第一个和第二个参数之间的差异 | |||
|  | 
 | |||
|  | ```go | |||
|  | func addAndSubtract(x, y int) (int, int) {  | |||
|  |   return x + y, x - y  | |||
|  |  }  | |||
|  |   | |||
|  |  addAndSubtract(7, 4) // Returns 11, 3  | |||
|  | ``` | |||
|  | 
 | |||
|  | Go还支持命名返回的值 | |||
|  | 
 | |||
|  | ```go | |||
|  | func mulitplyByThreeAndDivideByFive(x int) (product int, quotient int) {  | |||
|  |     product = x * 3  | |||
|  |     quotient = x / 5  | |||
|  |     return  | |||
|  |  }  | |||
|  |   | |||
|  |  mulitplyByThreeAndDivideByFive(20) // Returns 60, 4  | |||
|  | ``` | |||
|  | 
 | |||
|  | #### 更多信息:
 | |||
|  | 
 | |||
|  | *   [围棋之旅](https://tour.golang.org/basics/4) | |||
|  | *   [以身作则](https://gobyexample.com/functions) | |||
|  | *   [Golang Book](https://www.golang-book.com/books/intro/7) | |||
|  | *   [Go编程语言规范](https://golang.org/ref/spec#Function_declarations) |