Aula 23
Switch na Linguagem Go (Seleção de Múltipla Escolha) - Aula de Golang
Summary
Resumo da Aula sobre SWIT em Go
Nesta aula, aprendemos sobre a estrutura de seleção múltipla chamada SWIT
na linguagem de programação Go. A seguir, estão os pontos principais abordados:
Introdução ao SWIT
- O
SWIT
em Go permite selecionar entre várias opções com base no valor de uma variável. - É similar à estrutura
switch
em outras linguagens de programação, mas não requer a palavra-chavebreak
para evitar a queda em outros casos.
Estrutura do SWIT
- O
SWIT
começa com a palavra-chaveSWIT
, seguida pela variável a ser avaliada. - Cada cenário é definido com
case
, e ainda há um caso padrãodefault
para cobrir situações que não correspondem a nenhum dos casos.
Exemplo Prático
- Definição de Variável:
- Usamos uma variável
nome
do tipostring
, que pode ser inicializada com valores como "João" ou "Ana".
- Usamos uma variável
- Casos:
- Se
nome
for "Ana", o programa imprime uma mensagem específica. - Se for "João", outra mensagem é impressa.
- Se não corresponder a nenhum nome, imprime "não conheço".
- Se
Funcionamento do SWIT
- O programa avalia a variável na condição do
SWIT
e compara a cadacase
. - Uma vez que um caso é verdade, o bloco é executado e os outros casos são ignorados, incluindo o
default
se presente. - Exemplo de execução no terminal utilizando
go run SWIT.go
.
Observações Adicionais
- O
case
não precisa ser uma constante; pode ser uma expressão. - A variável pode ser inicializada dentro do
SWIT
, mas se feita, terá escopo limitado ao bloco doSWIT
.
Conclusão
Esta aula ofereceu uma introdução prática ao uso do SWIT
em Go. Para estudos futuros, recomenda-se explorar outros aspectos e casos de uso mais complexos.
Até a próxima aula!
Video Transcript
Olá a todos! Nesta aula nós vamos aprender SWIT na linguagem GO, a seleção de múltipla
escolha. Então vamos começar a falar de SWIT.
Então vamos aqui escrever o SWIT, aí depois a gente explica. Então eu tenho aqui o arquivo
SWIT.go já, já criei este arquivo, dentro do pacote main, e eu importei FMMT para poder
sempre em mim, mensagens ao console. Então vamos falar aqui, vamos escrever essa seleção
de múltipla escolha. Então a gente começa com a palavra-chave que é SWIT.
Vamos supor assim que você tem o nome de uma pessoa, aí você quer identificar a pessoa
dependendo do nome. Então vamos criar a variável com var, variável não tem nome, nome, tipo
string, eu vou dar um nome aqui entre aspas, né? De uma pessoa, vamos começar aqui com
João, tá? Aí eu vou dar o SWIT no nome e vou ver o
case, cada caso. Caso, se o nome fosse Ana, eu vou dizer com esse, eu sei, a Ana então
vou dizer que é a Ana, tá? Só essa mensagemzinha. Aí se não for a Ana, pode ser que seja o João.
E nesse caso aqui, nesse case, eu vou dizer que é o João. É o João.
Tá? E se não for nenhum desse cara, então eu não conheço a pessoa, vamos dizer assim,
o default que é caso contrário, padrão, tá? Se passou por todos os casos, mas não,
identificou ninguém. Eu vou falar FMT, ponto print, é LN. Vou mandar a mensagem dizer que não conheço.
Não conheço. Então vamos falar do SWIT. Então SWIT leva a condição aqui, nesse caso eu
vou dizer que é o nome da variável. Então esse valor aqui, ele vai em cada caso e comparar esse
valor aqui do caso com essa condição, o valor da condição aqui. Então se ele for o mesmo valor,
né? Se esse cara, Ana, por exemplo, for igual ao nome, vai executar o corpo desse caso que tá aqui
depois de dois pontos, tá? Que eu usei a inventação também só para o estilo. Então vai executar esse
bloco até achar o antes, antes da, o outro case, tá? Mas note que ele, quando você
pega um case, ele só executa esse case e todos os outros são ignorados. Note que se você vende
a linguagem de programação, normalmente a gente tinha aquele negócio total do break, né?
Para poder quebrar e terminar esse SWIT em vez de ficar continuando e olhando nos outros casos.
No caso do gol, você não precisa adicionar a palavra break, porque o gol já faz isso
automaticamente, tá? O break já é fornecido pelo gol, então você não precisa adicionar.
Então com isso, ele vai ver se o caso, a condição não foi igual àquela, ele vai continuar o próximo
caso, checa esse cara aqui e vai comparar com o nome, se for igual, vai executar, se não for, vai
continuar em todos os casos, tá? No caso default, é o que acontece quando ele passa por todos os
casos, mas em nenhum dos casos ele dá verdadeiro, então ele vai terminar no default, que é o que
você vai fazer caso contrário, se nenhum dos outros casos forem verdadeiros, né? Então ele vai
mostrar um mensagem não conheço. Agora nesse exemplo aqui, nós temos o variável nome que tem o Valor
João. Então o que vai acontecer? Ele vai dar o SWIT, vai checar o caso da Ana. Ana é igual
obviamente que não, porque você pode imaginar que o nome que tá assim, então você compara Ana,
que o João não é a mesma, mesmo valor, então ele vai ignorar esse corpo e vai pro próximo caso.
Caso João, igual a João aqui, verdadeiro, então ele executa tudo que tá dentro do caso
do João. Nesse caso vai falar é o João, vai ser imprimido ao console, porque esse
caso foi executado, ele vai ignorar todos os outros, incluindo esse default e vai continuar
a execução do programa depois do SWIT, tá? Então vamos dar um olhado aqui, se realmente vai acontecer
isso. Vamos aqui no terminal e eu vou aqui dizer GO RUN SWIT.GO, então falou que é o João, mesmo.
Tá? Agora se tivesse Ana aqui que eu queria acontecer, iria bater no caso da Ana e dizer que é,
no lado do RUN, é a Ana. Agora se não fosse a Ana, nem a Ana, nem o João, se fosse alguém
outro alguém, né? Outro pessoa, então ia dar não com isso, tá? Porque bateu no caso da Ana,
bateu no caso do João, nenhum das condições foram iguais, né? A nome, aí vai pro default.
É importante notar, detalhar que o caso que não precisa ser constante pode ser uma expressão, tá?
Se você vê em linguagem C, por exemplo, só pode ter, por exemplo, inteiros ou constantes,
não precisa disso, pode ser qualquer expressão aqui, tá?
Agora vamos ver o negócio aqui, só curiosidade, você também pode definir nome aqui logo aqui no
começo do SWIT com a inicialização, se lembra do 2.0 sinal de igual, a gente já fez isso com
a declaração F, a declaração F, C, né? Já tem isso, então o cenote que a gente declara varável
nome aqui fora, pode também declarar aqui dentro antes de checar o valor, por exemplo,
SWIT nome, dois pontos igual, vamos falar aqui João, tá? E você põe o ponto em vírgula, tá bom?
Essa é a sua maneira aqui.
Aí você pode remover esse cara daqui.
Vamos ver no que dá.
Então falou que é o João, então dá na mesma.
É certo que vamos ver se você iniciar o sinal desse cara dentro do condição do SWIT?
O que acontece se eu tentar dar o println da variável nome fora do SWIT?
Vamos fazer esse experimento.
Agora falou que o nome está ainda definido fora do corpo do SWIT, então se você fizer
dessa maneira, note que o variável só vai estar disponível aqui dentro, olha aqui,
se eu dar o println nome aqui dentro do caso do João,
tá, eu esqueci de tirar isso daqui, deixa eu comentar aquele outro, linha 18.
Tá, então João é o João, então a variável nome está definida somente no bloco do SWIT,
então tem escopo somente nesse bloco aqui, mas dá um fora, mas se você estivesse definindo
quando a gente tinha feito antes, né, com a nome string igual a João,
opa, e não tivesse essa inicialização e desce o println aqui na linha 20, fora do SWIT,
dessa maneira ele iria funcionar porque, ah deixa eu tirar esse println,
porque o escopo da variável é do bloco da função main agora, né, então o nome vai
ser acessível fora do SWIT também, que está acessível no todo bloco do main,
então tem esse detalhe quando você usar inicialização aqui no próprio condição do SWIT, tá,
então pessoal, por essa aula é só e até a próxima.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: