Resumo
Neste ponto, você conhece as diferenças do Go e de outras linguagens de programação. Por exemplo, o Go não exige que você escreva parênteses nas condições para as instruções if
, for
ou switch
. Mas sempre será preciso escrever chaves ({}
). É possível encadear instruções if
, e uma cláusula else
é opcional. Crucialmente, é possível declarar variáveis dentro de uma condição if
, e o escopo delas está apenas dentro do bloco if
. Essas variáveis não podem ser acessadas fora do bloco, mesmo na mesma função.
O Go é compatível com as instruções switch
, não sendo necessário escrever uma condição. Basta usar cláusulas case
. Ao contrário de outras linguagens, no Go não é preciso escrever uma instrução break
no final de cada cláusula case
para evitar a execução de outras cláusulas case
.
Por padrão, quando o Go entra em uma instrução case
, ele a executa e, em seguida, sai da cláusula switch
. Para ir para a próxima cláusula case
, use a palavra-chave fallthrough
. É possível chamar uma função de uma cláusula case
e agrupar várias expressões em uma cláusula case
.
Neste módulo, você também aprendeu que no Go usa-se apenas a palavra-chave for
para escrever loops. Mas é possível escrever loops infinitos ou condições while
. O Go é compatível com a palavra-chave continue
, para que você possa ignorar uma iteração de um loop sem sair dele.
Por fim, você conheceu outros fluxos de controle do Go, como as funções defer
, panic
e recover
. O Go não dá suporte a exceções. Ele lida com erros de tempo de execução usando uma combinação das três funções.