Inicialización de Structs
Parte de la sección Fundamentos del Journey de GO de Coddy. Lección 98 de 109.
Hay múltiples formas de inicializar structs en Go. Exploremos los métodos más comunes.
Crea una estructura con nombres de campos:
type Person struct {
name string
age int
}
func main() {
// Initialize with field names
person1 := Person{name: "Alice", age: 30}
fmt.Println(person1)
}La salida muestra nuestra estructura inicializada:
{Alice 30}También puedes inicializar una estructura sin los nombres de los campos, pero debes proporcionar los valores en orden:
person2 := Person{"Bob", 25}
fmt.Println(person2)Resultado:
{Bob 25}Crea un struct vacío con valores cero:
person3 := Person{}
fmt.Println(person3)Resultado:
{ 0}Desafío
PrincipianteEn este desafío, practicarás la inicialización de un struct en Go. Hemos definido un struct Person con campos para el nombre, la edad y si la persona está empleada.
Tu tarea es inicializar una nueva instancia del struct Person con la siguiente información:
- Name: "Alice"
- Age: 28
- IsEmployed: true
Luego, imprimiremos la información sobre esta persona.
Pruébalo tú mismo
package main
import "fmt"
// Definición de la estructura Person
type Person struct {
Name string
Age int
IsEmployed bool
}
func main() {
// TODO: Inicializar una estructura Person con nombre "Alice", edad 28, e isEmployed true
// Usar ya sea los nombres de los campos o la sintaxis de literal de estructura
var alice Person
// Imprimir la información de la persona
fmt.Printf("Name: %s\n", alice.Name)
fmt.Printf("Age: %d\n", alice.Age)
fmt.Printf("Employed: %t\n", alice.IsEmployed)
}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 decisionesPractica por tu cuenta: Compilador de Go online