Menu
Coddy logo textTech

Inicializando Structs

Parte da seção Fundamentos do Journey de GO da Coddy — lição 98 de 109.

Existem várias maneiras de inicializar structs em Go. Vamos explorar os métodos mais comuns.

Crie uma struct com nomes de campos:

type Person struct {
    name string
    age  int
}

func main() {
    // Initialize with field names
    person1 := Person{name: "Alice", age: 30}
    fmt.Println(person1)
}

A saída mostra nossa struct inicializada:

{Alice 30}

Você também pode inicializar uma struct sem os nomes dos campos, mas deve fornecer os valores na ordem:

person2 := Person{"Bob", 25}
fmt.Println(person2)

Resultado:

{Bob 25}

Crie uma struct vazia com valores zero:

person3 := Person{}
fmt.Println(person3)

Resultado:

{  0}
challenge icon

Desafio

Iniciante

Neste desafio, você praticará a inicialização de uma struct em Go. Definimos uma struct Person com campos para nome, idade e se a pessoa está empregada.

Sua tarefa é inicializar uma nova instância da struct Person com as seguintes informações:

  • Name: "Alice"
  • Age: 28
  • IsEmployed: true

Em seguida, imprimiremos as informações sobre essa pessoa.

Folha de consulta

Existem várias maneiras de inicializar structs em Go:

Inicializar com nomes de campos:

person1 := Person{name: "Alice", age: 30}

Inicializar sem nomes de campos (os valores devem estar na ordem):

person2 := Person{"Bob", 25}

Criar uma struct vazia com valores zero:

person3 := Person{}

Experimente você mesmo

package main

import "fmt"

// Definição da struct Person
type Person struct {
	Name       string
	Age        int
	IsEmployed bool
}

func main() {
	// TODO: Inicializar uma struct Person com nome "Alice", idade 28 e isEmployed true
	// Use os nomes dos campos ou a sintaxe de literal de struct
	var alice Person
	
	// Imprimir as informações da pessoa
	fmt.Printf("Name: %s\n", alice.Name)
	fmt.Printf("Age: %d\n", alice.Age)
	fmt.Printf("Employed: %t\n", alice.IsEmployed)
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos