Creación de instancias de Structs
Parte de la sección Fundamentos del Journey de GO de Coddy — lección 95 de 109.
Después de definir un tipo struct, necesitas crear instancias (valores) de ese tipo para usar en tu programa.
Define una estructura Person:
type Person struct {
name string
age int
}
func main() {
// Create a Person instance
person1 := Person{name: "Alice", age: 30}
fmt.Println(person1)
}La salida muestra la instancia de la estructura con sus valores de campo:
{Alice 30}También puedes crear una estructura con valores cero omitiendo campos:
person2 := Person{} // Crea {name:"", age:0}Desafío
PrincipianteEn este desafío, practicarás la creación de instancias de un struct. Ya se ha definido un struct Person con campos para name, age e isStudent.
Tu tarea es crear una nueva instancia del struct Person con la siguiente información:
- Nombre: "Alice"
- Edad: 25
- IsStudent: true
Luego, el programa imprimirá la información de la persona.
Hoja de referencia
Para crear instancias de un struct, use el nombre del struct seguido de los valores de los campos entre llaves:
type Person struct {
name string
age int
}
// Crear una instancia de struct con valores de campo
person1 := Person{name: "Alice", age: 30}
// Crear un struct con valores cero (campos vacíos)
person2 := Person{} // Crea {name:"", age:0}Pruébalo tú mismo
package main
import "fmt"
// Definición de la estructura Person
type Person struct {
name string
age int
isStudent bool
}
func main() {
// TODO: Crear una nueva instancia de la estructura Person con
// name: "Alice", age: 25, isStudent: true
// No modifiques el código de abajo
fmt.Printf("Name: %s\n", person.name)
fmt.Printf("Age: %d\n", person.age)
fmt.Printf("Is Student: %t\n", person.isStudent)
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparación - Parte 1Operadores de comparación - Parte 2Operador lógico ANDOperador lógico OROperador lógico NOTConceptos básicos de precedencia de operadoresResumen: Realizar comparaciones7Flujo de control: Bucles
Explicación del bucle `for`Bucle `for` - BásicoBucle `for` - Solo condiciónLa palabra clave `break`La palabra clave `continue`Bucles anidadosResumen - Repetición de acciones10Tipos compuestos: Arrays
Introducción a los ArraysDeclaración de ArraysInicialización de ArraysAcceso a elementos de un ArrayLongitud del Array con `len`Iterar sobre ArraysArrays multidimensionales13Tipos compuestos: Structs
Definición de tipos personalizadosCreación de instancias de StructsAcceso a campos de StructsPunteros a StructsInicialización de StructsStructs embebidosStructs anónimosResumen - Estructuras de datos personalizadas2Variables y tipos de datos básicos
¿Qué es una variable?Inferencia de tipos con `:=`Enteros (int)Números de punto flotanteBooleanosStringsValores ceroConstantesConvenciones de nomenclaturaResumen - Variables y tipos5Entrada y salida básica
Salida con formatoVerbos de formatoImpresión de tiposObtener entrada básica del usuarioResumen: Entrada y salida8Funciones
Comprendiendo las funcionesDeclaración de una funciónLlamada a funcionesParámetros de funciónRetorno de un solo valorRetorno de múltiples valoresValores de retorno con nombreConceptos básicos del alcance de las funcionesResumen: Creando código reutilizable3Operadores básicos
Operadores aritméticosOperador de divisiónEl operador móduloOperador de asignaciónOperadores de asignación compuestaIncremento y decrementoResumen - Cálculos6Flujo de control: Condicionales
La sentencia `if`La palabra clave `else`La palabra clave `else if`Sombreado de variables en `if`Inicialización de variablesLa sentencia `switch``switch` con expresiones`switch` sin expresiónLa palabra clave `fallthrough`Resumen: Toma de decisiones