Iniciante Fundamentos
Structs
Structs agrupam vários campos em um único tipo. Servem para representar objetos do mundo real.
Definindo uma struct
type Pessoa struct {
Nome string
Idade int
}
Criando valores
p := Pessoa{Nome: "Ana", Idade: 30}
fmt.Println(p.Nome) // Ana
fmt.Println(p.Idade) // 30
Você também pode omitir os nomes, seguindo a ordem dos campos:
p2 := Pessoa{"João", 25}
Alterando campos
p.Idade = 31
fmt.Println(p.Idade) // 31
Métodos
Métodos são funções ligadas a uma struct. O receptor vem antes do nome:
func (p Pessoa) Apresentar() string {
return "Olá, sou " + p.Nome
}
func main() {
p := Pessoa{Nome: "Ana", Idade: 30}
fmt.Println(p.Apresentar()) // Olá, sou Ana
}
Struct dentro de struct
type Endereco struct {
Cidade string
}
type Cliente struct {
Nome string
Endereco Endereco
}
Resumo
- Structs agrupam campos relacionados em um tipo.
- Acesse campos com o ponto:
p.Nome. - Métodos adicionam comportamento às structs.