Configuração do Projeto
Parte da seção Lógica & Fluxo do Journey de GO da Coddy. Lição 20 de 68.
Desafio
FácilNas próximas lições, você criará um aplicativo simples de lista de tarefas de 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 para criar um aplicativo completo de lista de tarefas que crescerá ao longo do projeto.
Você receberá duas entradas:
- Uma string que representa o nome do aplicativo (por exemplo,
"MyTasks") - Uma string que representa o nome do usuário (por exemplo,
"Alice")
Sua tarefa é:
- Definir uma struct
Taskcom dois campos:Name(string) - a descrição da tarefaCompleted(bool) - se a tarefa foi concluída
- Criar um slice de structs
Taskpara armazenar sua lista de tarefas (inicialmente vazia) - Exibir uma mensagem de boas-vindas no formato:
"Welcome to [app_name], [user_name]!" - 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"
- Imprimir o número atual de tarefas no formato:
"Current tasks: [count]"
Este desafio estabelece a estrutura central que dará suporte a todas as funcionalidades futuras do seu sistema de gerenciamento de tarefas. A struct Task será o elemento básico para armazenar tarefas individuais, enquanto o slice gerenciará sua coleção de tarefas. O menu fornece uma interface clara para que os usuários entendam 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
1Fluxo de Controle Avançado
Switch com `fallthrough`Interrompendo Loops AninhadosContinuando um Loop EspecíficoA Instrução `goto`Recapitulação - Controle de Loop Avançado4Projeto: Lista de Tarefas Simples
Configuração do ProjetoAdicionando uma Tarefa2Structs e Métodos
Definindo Métodos em StructsRecebedores de ValorRecebedores de PonteiroEscolhendo RecebedoresMétodos vs FunçõesRecapitulação - Comportamento de Structs5Mapas em Profundidade
Mapas de StructsPonteiros como Valores de MapVerificando Mapas NilComparando MapasRecapitulação - Contador de Frequência de Palavras3Interfaces (O Básico)
O que é uma Interface?Definindo uma InterfaceImplementando uma InterfaceUsando Tipos de InterfaceInterface VaziaAsserções de TipoType SwitchRecapitulação - Formas e ComportamentosPratique por conta própria: Compilador de Go online