Pratique — Variáveis, tipos e constantes
Revisão rápida
- Quando você usaria
var name string em vez de name := "Bia"?
- Por que
:= não funciona fora de uma função?
- O que é zero value em Go?
- Qual é o zero value de
int, float64, string e bool?
- Por que Go exige conversão explícita entre tipos numéricos diferentes?
Strings sem tropeço
- Por que a frase "string em Go é sempre UTF-8" é simplificação demais?
- O que significa dizer que string é uma sequência imutável de bytes?
- Por que
len("ação") pode não bater com a quantidade de caracteres que você enxerga?
- Quando
rune começa a fazer mais sentido do que byte?
Leia o código
package main
import "fmt"
func main() {
var phone string
favorite := true
fmt.Printf("phone=%q favorite=%t\n", phone, favorite)
}
- Qual valor aparece para
phone?
- Qual é o tipo inferido de
favorite?
- O programa compila se
favorite não for usado? Por quê?
Pensando na agenda
- Quais tipos você usaria para
ID, Name, Email, Phone e Favorite?
- Um telefone deveria ser
int ou string? Explique a escolha.
- Por que o ID deve permanecer estável mesmo quando o email mudar?
- Que constante faria sentido criar para o Contact Book nesta aula?