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