Я новичок в языке GO. Пытаюсь изучить GO, создав настоящее веб-приложение. Я использую фреймворк Revel.
И вот мои маршруты ресурсов:
GET /resource/:resource Resource.ReadAll
GET /resource/:resource/:id Resource.Read
POST /resource/:resource Resource.Create
PUT /resource/:resource/:id Resource.Update
DELETE /resource/:resource/:id Resource.Delete
Например:
GET /resource/users
звонит Resource.ReadAll("users")
А это мой контроллер ресурсов (пока это просто фиктивные действия):
type Resource struct {
*revel.Controller
}
type User struct {
Id int
Username string
Password string
}
type Users struct {}
func (u Users) All() string {
return "All"
}
func (c Resource) ReadAll(resource string) revel.Result {
fmt.Printf("GET %s", resource)
model := reflect.New(resource)
fmt.Println(model.All())
return nil
}
Я пытаюсь получить экземпляр структуры Users путем преобразования строки ресурса в объект для вызова функции All.
и ошибка:
нельзя использовать ресурс (строка типа) как тип Reflect.Type в аргументе для Reflect.New: строка не реализует Reflect.Type (отсутствует метод Align)
Я новичок в GO, пожалуйста, не судите меня :)