Configuração do Projeto
Parte da seção Lógica & Fluxo do Journey de GO da Coddy. Lição 20 de 68.
Desafio
FácilAo 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 é:
- Definir uma struct
Taskcom dois campos:Name(string) - a descrição da tarefaCompleted(bool) - se a tarefa está finalizada
- Criar um slice de structs
Taskpara manter sua lista de tarefas (inicialmente vazio) - 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 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
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