50 lines
1.7 KiB
Markdown
50 lines
1.7 KiB
Markdown
---
|
|
title: Go Functions
|
|
localeTitle: Ir funções
|
|
---
|
|
## Ir funções
|
|
|
|
Uma função é um bloco de código que executa uma tarefa quando é chamado, de modo que o nome da função a identifica e é usado para chamar a função.
|
|
|
|
A declaração de uma função começa com a palavra-chave `func` seguida pelo nome da função e depois os argumentos da função e finalmente os tipos de valores retornados. A declaração liga o nome da função à função. Tenha em mente que o tipo vem depois do nome da variável nos argumentos e nos valores retornados. Um exemplo de declaração de uma função é o seguinte
|
|
|
|
```go
|
|
func add(a int, b int) int
|
|
```
|
|
|
|
Uma função pode ter 0 ou muitos argumentos, dependendo de sua funcionalidade desejada
|
|
|
|
```go
|
|
func zero() int { /* Function Definition */ }
|
|
func increment(x int) int { /* Function Definition */ }
|
|
func add(x, y int) int { /* Function Definition */ }
|
|
```
|
|
|
|
Go suporta o retorno de vários valores. A função abaixo retorna 2 valores: a soma dos 2 argumentos e a diferença entre o primeiro e o segundo argumento
|
|
|
|
```go
|
|
func addAndSubtract(x, y int) (int, int) {
|
|
return x + y, x - y
|
|
}
|
|
|
|
addAndSubtract(7, 4) // Returns 11, 3
|
|
```
|
|
|
|
Go também suporta nomear os valores retornados
|
|
|
|
```go
|
|
func mulitplyByThreeAndDivideByFive(x int) (product int, quotient int) {
|
|
product = x * 3
|
|
quotient = x / 5
|
|
return
|
|
}
|
|
|
|
mulitplyByThreeAndDivideByFive(20) // Returns 60, 4
|
|
```
|
|
|
|
#### Mais Informações:
|
|
|
|
* [Um passeio de ir](https://tour.golang.org/basics/4)
|
|
* [Vá pelo exemplo](https://gobyexample.com/functions)
|
|
* [Livro Golang](https://www.golang-book.com/books/intro/7)
|
|
* [A especificação da linguagem de programação Go](https://golang.org/ref/spec#Function_declarations) |