main.go
package main
import "fmt"
import "strconv"
func main() {
str := "12"
num, _ := strconv.Atoi(str) + 1
fmt.Println(num)
}
##本日のエラー
multiple-value strconv.Atoi() in single-value context
(一つの値が来るべきコンテキストに複数の値があるよ)
strconv.Atoi()は複数の戻り値を返すので、その実行結果に同文内で直接演算しようとしても当然できない。
戻り値を複数返せない言語を主に扱ってきた人は案外引っかかってしまうかも。(はい、私です。)
##対処
num, _ := strconv.Atoi(str)
num++
##ちなみに
num := getNum() + 1
func getNum() int {
return 12
}
これはgetNum()が一つの戻り値しか返さないので問題ない。