gpt4 book ai didi

go - 将通用结构/接口(interface)传递给函数并返回它

转载 作者:数据小太阳 更新时间:2023-10-29 03:31:34 35 4
gpt4 key购买 nike

我可以将通用结构或接口(interface)传递给函数,然后返回它吗?我试过在下面的例子中使用指针,我也试过使用 struct 作为返回类型,但我似乎做不到。

如果我改为使用 interface{},我似乎能够传入 postData,但通过返回或更新指针来取回它似乎是不可能的。谁能告诉我哪里出错了?

func EmailHandler(writer http.ResponseWriter, request *http.Request) {
var postData = EmailPostData{}
ConvertRequestJsonToJson(request, &postData)
}

func ConvertRequestJsonToJson(request *http.Request, model *struct{}) {
postContent, _ := ioutil.ReadAll(request.Body)
json.Unmarshal([]byte(postContent), &model)
}

最佳答案

func EmailHandler(writer http.ResponseWriter, request *http.Request) {
var postData = EmailPostData{}
ConvertRequestJsonToJson(request, &postData)
//Use postData, it should be filled
}
func ConvertRequestJsonToJson(request *http.Request, model interface{}) {
postContent, _ := ioutil.ReadAll(request.Body)
json.Unmarshal([]byte(postContent), model)//json.Unmarshal stores the result in the value pointed to by model
}

关于go - 将通用结构/接口(interface)传递给函数并返回它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51282894/

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