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) |