Inicialización de Structs
Parte de la sección Fundamentos del Journey de GO de Coddy. Lección 98 de 109.
Hay varias 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() {
// Inicializar con nombres de campos
person1 := Person{name: "Alice", age: 30}
fmt.Println(person1)
}La salida muestra nuestra estructura inicializada:
{Alice 30}También puedes inicializar una estructura sin nombres de campos, pero debes proporcionar los valores en orden:
person2 := Person{"Bob", 25}
fmt.Println(person2)Resultado:
{Bob 25}Crea una estructura vacía con valores cero:
person3 := Person{}
fmt.Println(person3)Resultado:
{ 0}Desafío
PrincipianteEn este desafío, practicarás cómo inicializar una estructura en Go. Hemos definido una estructura Person con campos para el nombre, la edad y si la persona está empleada.
Tu tarea es inicializar una nueva instancia de la estructura Person con la siguiente información:
- Nombre: "Alice"
- Edad: 28
- IsEmployed: true
Después imprimiremos la información sobre esta persona.
Pruébalo tú mismo
package main
import "fmt"
// Definición de la struct Person
type Person struct {
Name string
Age int
IsEmployed bool
}
func main() {
// TODO: Initialize a Person struct with name "Alice", age 28, and isEmployed true
// Usa los nombres de los campos o la sintaxis de literal de struct
var alice Person
// Imprime 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