У меня проблема с методом struct. В одном файле (тот же пакет) я структура:
type Task struct {
ID int `json:"id"`
Priority string `json:"priority"`
Content string `json:"content"`
}
Задача поставляется как тело в POST. Разбор JSON в эту структуру работает хорошо. В другом файле у меня есть метод:
func (task *Task) createTask() (err error) {
data, err := bson.Marshal(&task)
if err != nil {
return errors.New("error in parsing incoming task")
}
rslt, err := collection.InsertOne(context.Background(), data)
if err != nil {
return errors.New("error in saving task to database")
}
fmt.Println(rslt.InsertedID)
return nil
}
Структура задачи находится в одном файле с моим сервером. Метод createTask () находится в файле, который обрабатывает связь с mongoDB. Когда я запускаю свой сервер, у меня появляется эта ошибка:
./server.go:53:12: task.createTask undefined (type Task has no field or method createTask)
Вот как я вызываю метод:
var task Task
json.Unmarshal(body, &task)
err = task.createTask()
Есть ли у вас какие-либо идеи, что я делаю неправильно?