我有以下测试的基本代码strconv.Atoi()
:
package main
import (
"fmt"
"strconv"
)
func main() {
var a int
var b string
var err Error
b = "32"
a,err = strconv.Atoi(b)
fmt.Println(a)
fmt.Println(err)
}
我想处理是否存在错误strconv.Atoi()
,特别是如果错误是由于语法或范围,strconv.Atoi()
可以提供的条件。为此,我尝试了以下方法:
package main
import (
"os"
"fmt"
"strconv"
)
func main() {
var a int
var b string
var err error
b = "32"
a,err = strconv.Atoi(b)
if(err.Err == ErrSyntax) {
fmt.Println("ERROR")
os.Exit(1)
}
fmt.Println(a)
fmt.Println(err)
}
我得到了这个结果:
% go build test.go
# command-line-arguments
./test.go:19:8: err.Err undefined (type error has no field or method Err)
./test.go:19:16: undefined: ErrSyntax
我想了解如何处理这两个错误Atoi
可以返回(ErrSyntax
,ErrRange
)。