|
你需要的是把数据包装到错误中。
```go
type MyErr struct {
value int
}
func (err *MyErr) Error() string {
return "MyErr"
}
func test(a int) (int, error) {
if a%2 == 0 {
return a, nil
}
return 0, &MyErr{value: a}
}
func main() {
_, err := test(1)
if err != nil && err.Error() =="MyErr"{
fmt.Printf("error %d\n",err.(*MyErr).value);
}
}
``` |