quinta-feira, 20 de setembro de 2018

Programando em Go (Golang) - Condicionais switch

Além do if/else em Go temos outro condicional que está presente em outras linguagens, no caso estou falando do switch. Com o switch é possível fazer uma especie de concatenação de if/else if e else.

Sintaxe:

switch varivel_comparacao:
{
case valor_1:
{
  acao_01
  break
}
case valor_2:
{
  acao_02
  break
}
case valor_3:
{
  acao_03
  break
}
case valor_n:
{
  acao_n 
  break
}
default:
acao_default
}

Onde:


  • variavel_comparacao - Variável para comparação e execução dos blocos.
  • valor_1,valor_2_valor_3,valor_n - São os possíveis valores de condição.
  • acao_1, acao_2, acao_3, acao_n,acao_default - São os possíveis ações de acordo com a validação da variavel_comparacao.
  • default - Caso nenhum valor seja aceito nos cases o mesmo o valor default é aceito.

Exemplo 1:


package main

import "fmt"

func main() {
 var resp string
 escolha := 32

switch escolha
{
case 32:
resp="Voce escolhe 32"
break;
case 45:
resp="Voce escolhe 45"
break;
case 65:
resp="Voce escolhe 65"
break;
case 25:
resp="Voce escolhe 25"
break;
default:
resp="Não é os valores acima"
}
fmt.Printf(resp)


}


Switch com case com mais de uma possíbilidade


Outra opção possível para facilitar a quantidade de case é colocar mais de uma condição ao mesmo.

Sintaxe:



switch varivel_comparacao:
{
case valor_1,valor_2:
{
  acao_01
  break
}
case valor_3:
{
  acao_03
  break
}
case valor_n:
{
  acao_n 
  break
}
default:
 acao_default
}

Onde:


  • variavel_comparacao - Variável para comparação e execução dos blocos.
  • valor_1,valor_2_valor_3,valor_n - São os possíveis valores de condição.
  • acao_1, acao_2, acao_3, acao_n,acao_default - São os possíveis ações de acordo com a validação da variavel_comparacao.
  • default - Caso nenhum valor seja aceito nos cases o mesmo o valor default é aceito.

Exemplo 2:


package main

import "fmt"

func main() {
 var resp string
 escolha := 32

switch escolha{
case 32,45:
resp="Voce escolhe 32 ou 45"
break;
case 65:
resp="Voce escolhe 65"
break;
case 25:
resp="Voce escolhe 25"
break;
default:
resp="Não é os valores acima";
}
fmt.Printf(resp)


}

Nenhum comentário:

Postar um comentário