Переопределить аргументы по умолчанию для функции-обработчика
Я занимаюсь разработкой Web-сервера в GoLang с помощью Echo-Framework. У меня возникают трудности с передачей аргумента-указателя обработчику с его предварительно объявленным аргументом e.Context в другом пакете, так как я не очень хорошо владею GO.
Я попытался объявить функцию в различных форматах, например: 1) func (c echo.Context) SignUp (db * gorm.DB) error { ... }
2) func (c echo.Context,db *gorm.DB) Ошибка SignUp() { ... }
3) func () Ошибка регистрации (c echo.Context,db *gorm.DB) { ... }
Так как я не смог найти никакой документации по объявлению функций с двумя аргументами.
package main import ( "fmt" "net/http" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/postgres" "github.com/labstack/echo" "gitlab.quantifys.com/qira/backend-api/handler" ) func main() { e := echo.New() db, err := gorm.Open("postgres", "host=localhost port=5432 user=postgres dbname=taxiwala_development password=mexico123 sslmode=disable") if err != nil { panic(err) } defer db.Close() e.POST("/signup", handler.SignUp(c , &db)) e.Start(":4040") }
обработчик пакетов "Сеть / HTTP" "Github.com/labstack/echo" "Github.com/jinzhu/gorm" Тип Пользовательская структура { gorm.Model FirstName строка LastName строка } func SignUp(c echo.Context,db *gorm.DB) error { u:= new(models.User) if err:= c.Bind(u); err!= nil { println( err) } Var Responder Респондент err:= validate.Struct(u) responseder.Code ="1" responseder.Validation = проверка db.Create(& и) вернуть c.JSON(http.StatusOK, респондент) }Вышеприведенный код выдает ошибку, как показано ниже: "не может использовать handler.SignUp(echo.Context, &db) (тип ошибки) как тип echo.HandlerFunc в аргументе для e.POST "