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.