Mostrando postagens com marcador programação em go. Mostrar todas as postagens
Mostrando postagens com marcador programação em go. Mostrar todas as postagens

segunda-feira, 17 de setembro de 2018

Programando em Go (Golang) - Funções

A função nada mais é que um conjunto de ações que um determinado programa deve executar. Em Go podemos ter funções com zero ou mais argumentos.

Sintaxe:

func nome_funcao(variavel_entrada_1,variavel_entrada_n) retorno{

corpo_da_função

}

Onde:


  • func - Palavra chave para identificar uma função. 


  • nome_funcao - Nome da função.


  • variavel_entrada_1,variavel_entrada_n - Argumentos da função, pode ter um ou mais.


  • retorno - Retorno da função, pode ter um ou mais ao mesmo tempo.
  • corpo_da_função - Informações e medidas que serão tomadas na função.



Exemplo 1 - Nesse exemplo é possível ver uma função sum(x int, y int) que recebe dois valores int e devolve um int como retorno.


package main

import "fmt"

//Função que soma x e y 
func sum(x int, y int) int{
return x+y;
}

func main() {
    fmt.Println("Soma 2+3=",sum(2,3))
}



Abaixo é possível ver a execução do programa acima.




Exemplo 2 - É possível passar dois argumentos consecutivos, desde que os dois sejam do mesmo tipo abaixo é possível ver esse caso na função sum(x, y int) que recebe dois valores int e devolve um int como retorno.


package main

import "fmt"

//Função que soma x e y 
func sum(x, y int) int{
return x+y;
}

func main() {
    fmt.Println("Soma 2+3=",sum(2,3))
}


Funções com multiplos resultados

Em Go é possível que uma função retorne vários resutados ao mesmo tempo, para isso basta utilizar a sintaxe abaixo:

Sintaxe:

func nome_funcao(variavel_entrada_1,variavel_entrada_n) (retorno1,retorno2,retornon){

corpo_da_função

}

Onde:


  • func - Palavra chave para identificar uma função. 


  • nome_funcao - Nome da função.


  • variavel_entrada_1,variavel_entrada_n - Argumentos da função, pode ter um ou mais.


  • retorno1,retorno2,retornon- Retornos da função, vale lembrar que pode ser mais que três retornos.
  • corpo_da_função - Informações e medidas que serão tomadas na função.

Exemplo 3 - Nesse exemplo é possível ver uma função sum(x int, y int) que recebe dois valores int e devolve dois int como retorno.


package main

import "fmt"

//Função que retorna multiplos valores 
func sumEsubtracao(x int, y int) (int,int){
return x+y, x-y;
}

func main() {
    soma,sub:=sumEsubtracao(2,3)
    fmt.Println("Soma 2+3=",soma," e a subtração é 2-3=",sub)
}


As funções com múltiplos retornos também podem especificar quais variáveis retornar.


Exemplo 4 - Nesse exemplo é possível ver uma função sum(x int, y int) que recebe dois valores int e devolve dois int como retorno através de um retorno naked (retorno onde não te uma variável de retorno após a palavra chave return)

package main

import "fmt"

//Função que retorna multiplos valores 
func sumEsubtracao(x int, y int) (soma,sub int){
soma=x+y
        sub=x-y
        return
}

func main() {
    soma,sub:=sumEsubtracao(2,3)
    fmt.Println("Soma 2+3=",soma," e a subtração é 2-3=",sub)
}


Anterior                                       Início                                                       Próximo