如何正确组织Go多文件项目的结构?
大家好!我最近开始学习Go,在组织由多个文件组成的项目时遇到了问题。
我写了一个简单的控制台任务管理应用(todo list)。所有代码都放在一个main.go文件中:包括输入处理、逻辑和文件操作。当项目增长到500行时,导航变得非常不方便。
我尝试将代码拆分成多个文件,但没有成功。例如,我创建了一个`tasks`文件夹,在里面放了一个`tasks.go`文件,包含处理任务的函数,然后在`main.go`中尝试调用它们。但编译器报错说函数未定义。
以下是我的代码示例:
```go
// main.go
package main
func main() {
task := CreateTask("买牛奶") // 错误: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}
}
```
我没有