Quiz 03 - Funções e Organização do Código 🧩
1. Como o Go permite que uma função retorne mais de um valor?
Ele não permite, deve-se usar um array
Basta listar os tipos de retorno entre parênteses na assinatura da função
Somente se a função for iniciada com `func*`
Através de variáveis globais
2. Para que serve o operador `&` antes de uma variável?
Para realizar uma operação lógica "AND"
Para obter o endereço de memória (ponteiro) daquela variável
Para deletar a variável da memória
Para converter um número em string
3. O que define se uma função ou variável é "pública" (exportada) para outros pacotes no Go?
A palavra-chave `public`
Se ela estiver dentro do arquivo `main.go`
Se o nome dela começar com uma letra Maiúscula
Se ela tiver um comentário em cima
4. Qual a finalidade principal de usar um Ponteiro em Go?
Deixar o código mais complexo e difícil de ler
Evitar cópias desnecessárias de dados grandes ou permitir que uma função altere o valor original
O Go obriga o uso de ponteiros em todas as variáveis
Para rodar o código em servidores antigos
5. O que são "Variadic Functions"?
Funções que mudam de nome sozinhas
Funções que aceitam um número indeterminado de argumentos do mesmo tipo
Funções que não retornam nada
Funções que só funcionam em variáveis do tipo bool
6. Como você ignora um valor de retorno que não deseja usar?
Deixando um espaço em branco
Usando o identificador em branco `_` (underscore)
Usando a palavra-chave `ignore`
O Go não permite ignorar retornos
7. Todo projeto Go deve ter obrigatoriamente um pacote chamado:
start
main
root
server
8. O que o arquivo `go.mod` gerencia?
A configuração do roteador wi-fi
O banco de dados do sistema
O nome do módulo e suas dependências externas
O estilo visual do console
9. Qual o operador usado para acessar o valor dentro de um ponteiro (desreferenciação)?
&
#
*
->
10. Funções podem ser passadas como argumentos para outras funções em Go?
Não, isso é impossível
Sim, funções são cidadãs de primeira classe
Somente se forem funções matemáticas
Sim, mas apenas dentro do pacote `main`