如何在 golang 中检查 &{<nil> }

我正在尝试从数据库查询中检查结构是否为零,但它不起作用。 fmt.Println(loginResponse) // &{<nil>   }


if !reflect.ValueOf(loginResponse).IsNil() { // Its not working


        response := models.Response{

            Message: "Login Success",

            Success: true,

            Output:  token,

        }

        return c.JSON(response)


    } 



if !reflect.ValueOf(loginResponse).IsZero() { // its also not working


        response := models.Response{

            Message: "Login Success",

            Success: true,

            Output:  token,

        }

        return c.JSON(response)


    } 

这两个条件都不起作用。请帮忙


登录响应


type LoginResponse struct {

    Id          interface{} `json:"_id,omitempty" bson:"_id,omitempty"`

    Email       string      `json:"email"`

    Gender      string      `json:"gender"`

    PhoneNumber string      `json:"phonenumber"`

}


凤凰求蛊
浏览 83回答 1
1回答

手掌心

尝试这样做,希望它有效if (LoginResponse{}) != *loginResponse { // as your getting address so derferencing the pointer to struct&nbsp; &nbsp; &nbsp; &nbsp; response := models.Response{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Message: "Login Success",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Success: true,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Output:&nbsp; token,&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; return c.JSON(response)&nbsp; &nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP