Struct 应为指向结构片的指针

Struct 应为指向结构片的指针,struct,types,go,Struct,Types,Go,我在golang的服务器上工作 我有一个身份验证助手,它使用安全令牌对用户进行身份验证(这是一个测试)。当我在AuthUsingCredentials函数中进行查询(我正在使用)时,会出现错误,它会输出以下错误: “预期指向结构片*[]结构的指针” 如果我为var result[]entities.User更改var result*entities.User的 无法将结果[0](类型entities.User)用作中的类型*entities.User ah.userEntityToModel的参

我在golang的服务器上工作

我有一个身份验证助手,它使用安全令牌对用户进行身份验证(这是一个测试)。当我在AuthUsingCredentials函数中进行查询(我正在使用)时,会出现错误,它会输出以下错误:

“预期指向结构片*[]结构的指针”

如果我为
var result[]entities.User
更改
var result*entities.User

无法将结果[0](类型entities.User)用作中的类型*entities.User ah.userEntityToModel的参数“

身份验证帮助程序代码:

auth.go

package helpers

import (
  "fmt"

  "server/data/entities"
  "server/data/models"
  "server/interfaces"
)

var AuthHelper *authHelper

type authHelper struct{}

func init() {
    AuthHelper = &authHelper{}
}

func (ah *authHelper) userEntityToModel(_entity *entities.User) (*models.User, error) {
  u := models.NewUser(_entity, db)
    u.Username = _entity.Username

  return u, nil
}

func (ah *authHelper) AuthenticateUsingCredentials(_token string) (interfaces.IUser, error) {
  var result *entities.User
  err := db.Where("Token", "=", _token).Find(result)
  if err != nil {
    return nil, err
  }
  if result == nil {
    return nil, fmt.Errorf("Player '%s' not found", _token)
  }

  playerModel, err := ah.userEntityToModel(result)
  if err != nil {
    return nil, err
  }

  return playerModel, nil
}

这样的办法应该行得通

func (ah *authHelper) AuthenticateUsingCredentials(_token string) (interfaces.IUser, error) {
  var result *[]entities.User
  err := db.Where("Token", "=", _token).Find(result)
  if err != nil {
    return nil, err
  }
  if len(result) <= 0 {
    return nil, fmt.Errorf("Player '%s' not found", _token)
  }

  playerModel, err := ah.userEntityToModel(&(*result)[0])
  if err != nil {
    return nil, err
  }

  return playerModel, nil
}
func(ah*authHelper)AuthenticateSingCredentials(_令牌字符串)(interfaces.IUser,错误){
var结果*[]entities.User
错误:=db.Where(“令牌”、“=”、\u令牌)。查找(结果)
如果错误!=零{
返回零,错误
}

if len(result)感谢您的回答。它仍然输出“预期的指向结构片的指针*[]struct”。完整源代码的存储库:@IegorAzuaga:ah,我读错了。我更新了指向结构片指针的答案。