Avatar ·

Cómo organizar correctamente la estructura de un proyecto multifile en Go

¡Hola a todos! Empecé a estudiar Go recientemente y tuve un problema con la organización de un proyecto que consta de varios archivos. Escribí una pequeña aplicación de consola para gestionar tareas (todo list). En un solo archivo main.go tengo todo el código: manejo de entrada, lógica y trabajo con archivos. Cuando el proyecto creció hasta 500 líneas, se volvió muy incómodo navegar por él. Intenté dividir el código en varios archivos, pero no funcionó. Por ejemplo, creé una carpeta `tasks`, puse allí un archivo `tasks.go` con funciones para trabajar con tareas, y en `main.go` intento llamarlas. Pero el compilador se queja de que las funciones no están definidas. Aquí hay un ejemplo de mi código: ```go // main.go package main func main() { task := CreateTask("Comprar leche") // Error: undefined: CreateTask fmt.Println(task) } ``` ```go // tasks/tasks.go package tasks type Task struct { Title string } func CreateTask(title string) Task { return Task{Title: title} } ``` No