陪伴而非守候
不,我相信没有这样的伎俩。当我想避免在作用域中声明不必要的变量,以及一次性操作时,我有时会使用这种匿名函数调用:package mainimport "fmt"import "strconv"type T1 intfunc main() { x, err := func() (T1, error) { x, err := strconv.Atoi("1") return T1(x), err }() fmt.Println(err, x)}另一方面,如果您需要在许多情况下执行类似的转换,并且不一定总是由于相同的调用(如Atoi),您可以创建一个简单的函数,它会进行转换并传递错误:package mainimport "fmt"import "strconv"type T1 intfunc resToT1(n int, err error) (T1, error) { return T1(n), err}func main() { x, err := resToT1(strconv.Atoi("1")) fmt.Println(err, x)}