gpt4 book ai didi

go - 编译器 : too many arguments given despite that all are given

转载 作者:IT王子 更新时间:2023-10-29 00:48:36 29 4
gpt4 key购买 nike

我想使用结构 DataResponse 作为 JSON() 的参数来响应用户。通过初始化 DataResponse 的实例,我得到了错误消息,给出了太多的参数,但给出了所有必要的参数。

type DataResponse struct {
Status int `json:"status"`
Data interface{} `json:"data"`
}

func GetUser(rw http.ResponseWriter, req *http.Request, ps httprouter.Params) {
user := models.User{}
// Fetching user from db

resp := DataResponse(200, user)
JSON(rw, resp) // rw is the ResponseWriter of net/http
}

编译器抛出以下错误信息:

too many arguments to conversion to DataResponse: DataResponse(200, user)

DataResponse 需要两个给定的参数,Data 是一个接口(interface),因此它应该接受 models.User 作为数据类型。

最佳答案

resp := DataResponse(200, user)

语法错误。尝试花括号进行结构初始化:

resp := DataResponse{200, user}
^ ^

关于go - 编译器 : too many arguments given despite that all are given,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30358313/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com