Importação cíclica em Go: como corrigir o erro "import cycle not allowed"
Olá a todos! Sou novo em Go e me deparei com um problema que não consigo resolver. Estou escrevendo um pequeno aplicativo de gerenciamento de tarefas (to-do list). Tenho dois packages: `models` e `services`.
No package `models`, defini a struct `Task` e a função `Validate`, que verifica a correção da tarefa. No package `services`, quero implementar a lógica de adicionar a tarefa ao banco de dados, e antes de salvar, preciso chamar `Validate` de `models`.
Aqui está um exemplo de código:
**models/task.go:**
```go
package models
import "errors"
type Task struct {
ID int
Name string
}
func Validate(t Task) error {
if t.Name == "" {
return errors.New("name is required")
}
return nil
}
```
**services/task_service.go:**
```go
package services
import (
"fmt"
"myapp/models"
)
func AddTask(name string) error {
task := models.Task{Name: name}
if err := models.Validate(task); err != nil {
return err
}
fmt.Println("T