Criando Instâncias de Structs
Parte da seção Fundamentos do Journey de GO da Coddy — lição 95 de 109.
Após definir um tipo struct, você precisa criar instâncias (valores) desse tipo para usar em seu programa.
Defina uma struct Person:
type Person struct {
name string
age int
}
func main() {
// Create a Person instance
person1 := Person{name: "Alice", age: 30}
fmt.Println(person1)
}A saída mostra a instância da struct com os valores de seus campos:
{Alice 30}Você também pode criar uma struct com valores zero omitindo campos:
person2 := Person{} // Cria {name:"", age:0}Desafio
InicianteNeste desafio, você praticará a criação de instâncias de uma struct. Uma struct Person já foi definida com os campos name, age e isStudent.
Sua tarefa é criar uma nova instância da struct Person com as seguintes informações:
- Nome: "Alice"
- Idade: 25
- IsStudent: true
Em seguida, o programa imprimirá as informações da pessoa.
Folha de consulta
Para criar instâncias de uma struct, use o nome da struct seguido pelos valores dos campos entre chaves:
type Person struct {
name string
age int
}
// Cria uma instância de struct com valores de campos
person1 := Person{name: "Alice", age: 30}
// Cria uma struct com valores zero (campos vazios)
person2 := Person{} // Cria {name:"", age:0}Experimente você mesmo
package main
import "fmt"
// Definição da struct Person
type Person struct {
name string
age int
isStudent bool
}
func main() {
// TODO: Criar uma nova instância da struct Person com
// name: "Alice", age: 25, isStudent: true
// Não modifique o código abaixo
fmt.Printf("Name: %s\n", person.name)
fmt.Printf("Age: %d\n", person.age)
fmt.Printf("Is Student: %t\n", person.isStudent)
}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ções10Tipos Compostos: Arrays
Introdução a ArraysDeclarando ArraysInicializando ArraysAcessando Elementos de um ArrayTamanho do Array com `len`Iterando sobre ArraysArrays Multidimensionais13Tipos Compostos: Structs
Definindo Tipos PersonalizadosCriando Instâncias de StructsAcessando Campos de StructsPonteiros para StructsInicializando StructsStructs IncorporadasStructs AnônimasRecapitulação - Estruturas de Dados Personalizadas2Variá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