この小さなプログラムでユーザー入力を取得しようとしています。メソッドを使用してこれをいくつかの方法で実行しようとしました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)
}
コンパイルに関しては、次のエラーが発生しました。
(19 行目) 単一値コンテキストでの複数値 strconv.Atoi()
次に、Godocs を調べて、これを自分で理解しようとしたところ、エラー値も返されることに気付きました。だから、私は
input := strconv.Atoi(inputstr)
に
input, _ := strconv.Atoi(inputstr)
これで、エラーなしで問題なくコンパイルされます。ただし、プログラムを実行すると、次のようになります。
数字で何か言ってください。
0
そして終了します...何が間違っていますか? Atoi()
これは方法に関する質問だと思いますが、問題がある場合はScanln()
修正してください。