2016-03-22 19 views
1

私は学習を始めました最近go langに行きました。これは数時間を費やしていますが、何が問題なのか理解できません。エラー後GO lang構文エラー:予期しない名前、予期している)

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 
} 

response :=models.UserPrefer(cc, userID int64, key string, value string) --> compile time error 

b, err := json.Marshal(response) 
if err != nil { 
    http.Error(w, "Internal Error", http.StatusInternalServerError) 
    return 
} 
fmt.Fprintf(w, string(b[:])) 

}

がスロー構文エラーです:ここで

は私のコードで予想外の名前、期待) それはおそらく簡単ですが、ゴーLANGの私の限られた知識を持ちます私は理解できません。関数を呼び出すことがちょうどパラメータを渡しながら

使用

response :=models.UserPrefer(cc, userID, key, value) 

代わりの

response :=models.UserPrefer(cc, userID int64, key string, value string) 
+1

「UserPrefer」の呼び出しで、なぜ型名が 'int64'と' string'ですか? – Michael

+0

エラーはどの行に表示されますか? – AJPennster

+0

@AjPennster。コードでは、コンパイル時にエラーが発生しました。ダウン投票の理由は何ですか? – deadman

答えて

2

卿、あなたはタイプを渡しています。パラメータの型を渡す必要はありません。

2

メソッドを呼び出すときに

関連する問題