packagemainimport"fmt"typeargErrorstruct{argintprobstring}func(e*argError)Error()string{returnfmt.Sprintf("%d-%s",e.arg,e.prob)}funcf2(argint)(int,error){return-1,&argError{arg,"can'tworkwithit"}}funcmain(){_,e:=f2(42)ifae,ok:=e.(*argError);ok{fmt.Println(ae.arg)fmt.Println(ae.prob)}}在f2中我们有指针&a
packagemainimport"fmt"typeargErrorstruct{argintprobstring}func(e*argError)Error()string{returnfmt.Sprintf("%d-%s",e.arg,e.prob)}funcf2(argint)(int,error){return-1,&argError{arg,"can'tworkwithit"}}funcmain(){_,e:=f2(42)ifae,ok:=e.(*argError);ok{fmt.Println(ae.arg)fmt.Println(ae.prob)}}在f2中我们有指针&a