Mostrando postagens com marcador funções. Mostrar todas as postagens
Mostrando postagens com marcador funções. 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

quinta-feira, 13 de setembro de 2012

Shell Script parte 3: Funçoes

Introdução

O principal objetivo deste post é explicar de maneira simples e rapida como se faz utilização de funções em shell script.(Receomendo a leitura de parte I, parte II)
Funções

Assim como em qualquer "linguagem de programação" o shell script proporciona a utilização de funções.

Sintaxe:


nome_funcao ()
{
funcao_2;;
}

nome_funcao_2 ()
{
acao
}

nome_funcao


Onde:

  • nome_funcao – Funcão criada.
  • acao – Ação a ser tomada.
  • nome_funcao_2;; - Chamada da função nome_funcao_2.
  • nome_funcao – Função que dará inico ao shell script.


Será criado um shell script para no qual é possível escolher se será feito uma tabuada do 2 ou do 3 sendo que cada uma é feita por uma função.


#!/bin/bash

principal()

{

escolha=-1

while [ $escolha -ne 0 ];

do

echo "Escolha uma opção"

echo "1- Fazer tabuada do 2";

echo "2- Fazer tabuada do 3";

echo "0- Sair";

echo -n ":";

read escolha;

if [ "$escolha" -eq "1" ];

then

gerarTabuada2

elif [ "$escolha" -eq "2" ];

then

gerarTabuada3

fi

done

}

gerarTabuada3()

{

for i in {1..10}; do

echo "$i*3="$i*3

done

}

gerarTabuada2()

{

for i in {1..10}; do

echo "$i*2="$i*2

done

}

principal


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




Passando parametros para um função

Uma ótima ideia é passar paramtros para uma função isso faz com que a mesma não se torne estatica.

Sintaxe:

nome_funcao ()
{
funcao_2 pametro1 parametro2 parametroN;;
}

nome_funcao_2 ()
{
 $1  #Utilização do parametro1
 $2  #Utilização do parametro2
 $N #Utilização do parametroN
acao
}

nome_funcao


Onde:

  • nome_funcao – Funcão criada.

    acao – Ação a ser tomada
  • parametro1/2/N - Parametros a serem passados para função. 
  • nome_funcao_2;; - Chamada da função nome_funcao_2.
  • nome_funcao – Função que dará inico ao shell script.


Será criado um shell script para no qual é possível escolher com qual número será feito uma tabuada.

Exemplo:

#!/bin/bash

principal()

{

escolha=-1

while [ $escolha -ne 0 ];

do

echo "Escolha uma opção"

echo "Informer um valor para fazer um tabuada(0=sair): ";


echo -n ":";

read escolha;

gerarTabuada $escolha;

done

}

gerarTabuada()

{

for i in {1..10}; do

echo "$i*$1="$i*$1

done

}

principal












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




Retornando valores de uma função

Sintaxe:

nome_funcao ()
{
retorno =$(funcao_2 pametro1 parametro2 parametroN)
}

nome_funcao_2 ()
{
 $1  #Utilização do parametro1
 $2  #Utilização do parametro2
 $N #Utilização do parametroN
acao

echo $retorno
}

nome_funcao


Onde:

  • nome_funcao – Funcão criada.

    acao – Ação a ser tomada.

    $retorno - Retorno da função
  • parametro1/2/N - Parametros a serem passados para função. 
  • nome_funcao_2;; - Chamada da função nome_funcao_2.
  • nome_funcao – Função que dará inico ao shell script.


Será criado um shell script para no qual é passado um nome para função e será retonado uma frase com o mesmo.

Exemplo:


#!/bin/bash

principal()

{
 echo "Qual seu nome ? ";
 read nome;

 frase=$(darBomdia $nome)

 echo $frase;
}

darBomdia()
{
 bomdia="Bom dia $1".
 echo $bomdia;

}

principal

exit

Abaixo é possível ver o funcionamento do shell script abaixo: