我有以下代码(http://play.golang.org/p/47rvtGqGFn)。它在操场上工作但在我的系统上失败
package main
import (
"log"
"errors"
)
func main() {
j := &JustForTest{}
a, err := j.Test(3)
if err != nil {
log.Println(err)
}
log.Println(a)
}
type JustForTest struct {}
func (j *JustForTest) Test(i int) (string, error) {
if i < 5 {
return "fail", errors.New("something wrong")
}
return "success", nil
}
在操场上,它返回了我期望的东西:
2009/11/10 23:00:00 something wrong
2009/11/10 23:00:00 fail
但是当我在系统上运行“go install”时,出现编译器错误:
../warehouse/warehouse.go:32: cannot convert nil to type error
../warehouse/warehouse.go:83: cannot use errors.New("something wrong") (type error) as type error in return argument
../warehouse/warehouse.go:85: cannot use nil as type error in return argument
我觉得这真的很奇怪。我已将 Go 安装从 1.3.2 升级到 1.3.3,但仍然出现相同的错误。我的系统可能有什么问题?
慕田峪9158850
相关分类