Configuración del proyecto
Parte de la sección Lógica y Flujo del Journey de GO de Coddy. Lección 20 de 68.
Desafío
FácilEn las próximas lecciones, crearás una sencilla aplicación de lista de tareas de línea de comandos que permite a los usuarios añadir, ver, completar y eliminar tareas.
En este desafío, crearás la base de un sistema de gestión de tareas configurando la estructura de datos y la interfaz de usuario básicas. Este es el primer paso para crear una aplicación completa de lista de tareas que crecerá a lo largo del proyecto.
Recibirás dos entradas:
- Una cadena que representa el nombre de la aplicación (por ejemplo,
"MyTasks") - Una cadena que representa el nombre del usuario (por ejemplo,
"Alice")
Tu tarea es:
- Definir una estructura
Taskcon dos campos:Name(string): la descripción de la tareaCompleted(bool): indica si la tarea está terminada
- Crear un slice de estructuras
Taskpara contener tu lista de tareas (inicialmente vacío) - Mostrar un mensaje de bienvenida con el formato:
"Welcome to [app_name], [user_name]!" - Mostrar un menú con las siguientes opciones, cada una en una línea separada:
"1. Add Task""2. View Tasks""3. Complete Task""4. Remove Task""5. Exit"
- Mostrar el número actual de tareas con el formato:
"Current tasks: [count]"
Este desafío establece la estructura central que dará soporte a todas las funcionalidades futuras de tu sistema de gestión de tareas. La estructura Task será el componente básico para almacenar tareas individuales, mientras que el slice gestionará tu colección de tareas. El menú proporciona una interfaz clara para que los usuarios entiendan qué acciones pueden realizar.
Pruébalo tú mismo
package main
import "fmt"
func main() {
// Leer entrada
var appName string
var userName string
fmt.Scanln(&appName)
fmt.Scanln(&userName)
// TODO: Escribe tu código a continuación
// Definir la estructura Task
// Crear un slice de estructuras Task
// Mostrar mensaje de bienvenida y menú
// Imprimir el recuento de tareas actuales
}Todas las lecciones de Lógica y Flujo
1Flujo de control avanzado
Switch con `fallthrough`Salir de bucles anidadosContinuar un bucle específicoLa sentencia `goto`Repaso: Control de bucles avanzado4Proyecto: Lista de tareas sencilla
Configuración del proyectoAñadir una tarea2Estructuras y Métodos
Definición de métodos en estructurasReceptores de valorReceptores de punteroElegir receptoresMétodos vs FuncionesResumen - Comportamiento de estructuras5Mapas en profundidad
Mapas de StructsPunteros como valores de MapVerificación de Maps NilComparación de MapsResumen - Contador de frecuencia de palabras3Interfaces (Conceptos básicos)
¿Qué es una interfaz?Definir una interfazImplementar una interfazUso de tipos de interfazInterfaz vacíaAserciones de tipoType SwitchResumen: Formas y comportamientosPractica por tu cuenta: Compilador de Go online