我想在這個小程序中獲得用戶輸入。我試過用strconv.Atoi()
方法做這幾種方法(我的輸入顯然是一個字符串,我試圖將它轉換爲一個整數)。這是我第一次嘗試:如何在Go中使用strconv.Atoi()方法?
package main
import (
"fmt"
"strconv"
)
func main() {
//fmt.Println(strconv.Itoa)
fmt.Println("Say something, in numbers.")
var inputstr string
fmt.Scanln("%s", &inputstr)
input := strconv.Atoi(inputstr)
output := (input * 2)
outputstr := strconv.Itoa(output)
fmt.Println(outputstr)
}
,並得到了以下錯誤,當它來編譯:
(line 19) multiple-value strconv.Atoi() in single-value context
然後我看着Godocs,並試圖弄清楚這一點我自己,然後認識到了錯誤值也被返回。所以,我改變了
input := strconv.Atoi(inputstr)
到
input, _ := strconv.Atoi(inputstr)
現在這個編譯就好了,沒有任何錯誤。然而,當我運行該程序,這裏是我得到的:
Say something, in numbers.
0
然後它退出......我做錯了什麼?我相信這是一個關於Atoi()
方法的問題,但如果它涉及Scanln()
那麼請糾正我。
你應該*處理你的錯誤,而不是忽略它們。他們可能會幫助您診斷問題。 – elithrar
你是絕對正確的。我在這裏做的是糟糕的編程,但更重要的是我需要解釋事情的工作原理。所以,我去這裏... –