2013-10-08 25 views
2

我的測試處理器的代碼是在這裏:如何將HTML表單值轉換成int類型Golang

func defineHandler(w http.ResponseWriter, r *http.Request) { 
    a := strconv.ParseInt(r.FormValue("aRows")[0:], 10, 64); 
    b := r.FormValue("aRows"); 
    fmt.Fprintf(w, "aRows is: %s", b); 
} 

在編譯過程中返回的錯誤出來爲: 「多值strconv.ParseInt()在單值上下文「

我認爲它與FormValue中的信息格式有關,我只是不知道如何緩解這種情況。

回答

3

這意味着strconv.ParseInt有多個返回值(int和錯誤),所以你需要做的:

a, err := strconv.ParseInt(r.FormValue("aRows")[0:], 10, 64); 
if err != nil { 
    // handle the error in some way 
} 
+0

謝謝!這有點尷尬,但作爲提醒非常有用... – user2628946

+0

沒有那麼尷尬。他們*可能*已經設計了語言,以便您的原始代碼是正確的。許多語言中的'parseInt'就像這樣:如果出現錯誤,它會拋出異常或返回'NaN'或其他東西。 Go的設計就是要促使你思考錯誤並處理它們。這需要一些習慣。 – MatrixFrog

相關問題