草庐IT

go - 为什么在 Go 中调用嵌入字段的方法时类型别名和类型的行为不同?

go版本go1.11.2linux/amd64https://play.golang.org/p/kTvcsWkJeaZpackagemaintypeT1struct{}func(T1)Hello(T1){}typeT2struct{T1}func(T2)Hello(T2){}typeT3T2typeT4=T2funcmain(){varv_T3T3v_T3.Hello(v_T3)varv_T4T4v_T4.Hello(v_T4)}prog.go:21:12:不能在v_T3.T1.Hello的参数中使用v_T3(类型T3)作为类型T1第21行:我希望调用v_T3.Hello但实际调用v

go - 为什么在 Go 中调用嵌入字段的方法时类型别名和类型的行为不同?

go版本go1.11.2linux/amd64https://play.golang.org/p/kTvcsWkJeaZpackagemaintypeT1struct{}func(T1)Hello(T1){}typeT2struct{T1}func(T2)Hello(T2){}typeT3T2typeT4=T2funcmain(){varv_T3T3v_T3.Hello(v_T3)varv_T4T4v_T4.Hello(v_T4)}prog.go:21:12:不能在v_T3.T1.Hello的参数中使用v_T3(类型T3)作为类型T1第21行:我希望调用v_T3.Hello但实际调用v