接口指针和结构体实例指针的赋值问题

Aruforce · · 1666 次点击
第二点 error 前面有个 星号,怎么星号会被吞掉啊?
#6
更多评论
go里面没有接口指针的说法,接口就是接口,可以接受任何实现了这个接口的类型的对象赋值 var err *errors.CustomError = &errors.CustomError{"123456"}; 这个你是想写成这样吗: var err error = &CustomError{"123456"};
#1
怎么粘贴代码不太对啊 ``` type CustomError struct { Msg string; } func(customError *CustomError)Error() string{ return customError.Msg; } func main() { var err *errors = &errors.CustomError{"123456"}; fmt.Println(err.Error()); } ``` 这个样子 的代码, &errors.CustomError{"123456"} 是一个CustomError指针,CustomError 实现了error的全部接口 ;err *error 是一个error类型的指针; 难道err 不能接受 &errors.CustomError{"123456"}这个么?我个人直觉 这应该是很正常的操作啊
#2