Golangでエラー処理をするときは、変数二つを用意してエラーが出たときは二つ目にエラー内容が入るという特性を使う。
具体的なコード例は以下の通り。
package main
import (
"fmt"
"strconv"
)
func main() {
var test string = "1000"
result, error := strconv.Atoi(test) //変数を二つ並べて、エラーが出たときは二つ目にエラー内容が入る
if error != nil { //もし変数errorが空でなければ、エラー内容を出力する
fmt.Println(error)
}
fmt.Printf("result = %T\n", result)
}
この場合は処理が成功します。
では、変数testの中身を変えてみます。
package main
import (
"fmt"
"strconv"
)
func main() {
var test string = "Hello"
result, error := strconv.Atoi(test) //変数を二つ並べて、エラーが出たときは二つ目にエラー内容が入る
if error != nil { //もし変数errorが空でなければ、エラー内容を出力する
fmt.Println(error)
}
fmt.Printf("result = %T\n", result)
}
この場合処理が失敗するはずなので、エラー内容が出力されるはずです。
出力結果↓
strconv.Atoi: parsing "Hello": invalid syntax_