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}Desafio
InicianteNeste 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)
}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
4Operadores de Comparação e Lógicos
Operadores de Comparação - Parte 1Operadores de Comparação - Parte 2Operador Lógico ANDOperador Lógico OROperador Lógico NOTFundamentos de Precedência de OperadoresRecapitulação - Fazendo Comparações7Fluxo de Controle: Loops
O Loop `for` ExplicadoLoop For - BásicoLoop For - Apenas CondiçãoA Palavra-chave `break`A Palavra-chave `continue`Loops AninhadosRecapitulação - Repetindo Ações2Variáveis e Tipos de Dados Básicos
O que é uma variávelInferência de Tipo com `:=`Inteiros (int)Números de Ponto FlutuanteBooleanosStringsValores ZeroConstantesConvenções de NomenclaturaRecapitulação - Variáveis e Tipos5Entrada/Saída Básica
Saída FormatadaVerbos de FormataçãoImprimindo TiposObtendo Entrada Básica do UsuárioRecapitulação - Entrada e Saída8Funções
Entendendo FunçõesDeclarando uma FunçãoChamando FunçõesParâmetros de FunçãoRetornando um Único ValorRetornando Múltiplos ValoresValores de Retorno NomeadosFundamentos de Escopo de FunçãoRecapitulação - Criando Código Reutilizável3Operadores Básicos
Operadores AritméticosOperador de DivisãoO Operador MóduloOperador de AtribuiçãoOperadores de Atribuição CompostaIncremento e DecrementoRecapitulação - Cálculos6Fluxo de Controle: Condicionais
A Instrução `if`A Palavra-chave `else`A Palavra-chave `else if`Sombreamento de Variáveis no `if`Inicializando VariáveisA Instrução `switch`Switch com ExpressõesSwitch sem ExpressãoA Palavra-chave `fallthrough`Recapitulação - Tomando Decisões