Menu
Coddy logo textTech

Configuração do Projeto

Parte da seção Lógica & Fluxo do Journey de GO da Coddy — lição 20 de 68.

challenge icon

Desafio

Fácil

Ao longo das próximas lições, você construirá um aplicativo simples de lista de tarefas por linha de comando que permite aos usuários adicionar, visualizar, concluir e remover tarefas.

Neste desafio, você criará a base para um sistema de gerenciamento de tarefas configurando a estrutura de dados básica e a interface do usuário. Este é o primeiro passo na construção de um aplicativo de lista de tarefas completo que crescerá ao longo do projeto.

Você receberá duas entradas:

  • Uma string representando o nome do aplicativo (ex: "MyTasks")
  • Uma string representando o nome do usuário (ex: "Alice")

Sua tarefa é:

  1. Definir uma struct Task com dois campos:
    • Name (string) - a descrição da tarefa
    • Completed (bool) - se a tarefa está finalizada
  2. Criar um slice de structs Task para manter sua lista de tarefas (inicialmente vazio)
  3. Exibir uma mensagem de boas-vindas no formato: "Welcome to [app_name], [user_name]!"
  4. Exibir um menu com as seguintes opções, cada uma em uma linha separada:
    • "1. Add Task"
    • "2. View Tasks"
    • "3. Complete Task"
    • "4. Remove Task"
    • "5. Exit"
  5. Imprimir o número atual de tarefas no formato: "Current tasks: [count]"

Este desafio estabelece a estrutura central que suportará todas as funcionalidades futuras em seu sistema de gerenciamento de tarefas. A struct Task será o bloco de construção para armazenar tarefas individuais, enquanto o slice gerenciará sua coleção de tarefas. O menu fornece uma interface clara para os usuários entenderem quais ações podem realizar.

Experimente você mesmo

package main

import "fmt"

func main() {
    // Ler entrada
    var appName string
    var userName string
    fmt.Scanln(&appName)
    fmt.Scanln(&userName)
    
    // TODO: Escreva seu código abaixo
    // Definir a struct Task
    // Criar um slice de structs Task
    // Exibir mensagem de boas-vindas e menu
    // Imprimir a contagem atual de tarefas
    
}

Todas as lições de Lógica & Fluxo