我最近开始学围棋,花了几个小时也不知道哪里出了问题。
我的代码如下:
func preference(cc *core.ComponentContext, w http.ResponseWriter, req *http.Request){
userID, err := core.PostParam(req, "user_id")
key, err := core.PostParam(req, "key")
value, err := core.PostParam(req, "value")
if err != nil {
cc.Error("Error reading the user id:", err.Error())
msg := fmt.Sprintf("user_id: %s", err.Error())
http.Error(w, msg, http.StatusBadRequest)
return
}
// compile time error on below line
response := models.UserPrefer(cc, userID int64, key string, value string)
b, err := json.Marshal(response)
if err != nil {
http.Error(w, "Internal Error", http.StatusInternalServerError)
return
}
fmt.Fprintf(w, string(b[:]))
字符串
}
以下错误是throw**语法错误:这可能很简单,但以我有限的Go lang知识,我无法弄清楚。
4条答案
按热度按时间dpiehjr41#
调用方法时传递类型
使用
字符串
而不是
型
sxissh062#
当调用一个函数时,只传递参数。不需要传递参数的类型。
kmbjn2e33#
当我在示例化一个类型时忘记放冒号时,我得到了一个非常类似的错误。创建了一个最小的例子来说明。
prog.go:11:12:语法错误:意外的文本“Sedimental”,应为逗号或}
https://play.golang.org/p/QKmcOHnsF7C
在这个例子中,我只需要在属性名后面添加一个冒号。
字符串
tpgth1q74#
我得到这个错误是因为我使用
reserved
关键字作为方法的参数名称。引发此错误的代码段:
字符串
修复此问题的代码段:
型