main
import "fmt"
type MyError struct{}
func (MyError) Error() string { return "MyError!" }
func errorHandler(err error) {
if err != nil {
fmt.Println("Error:", err)
}
}
func main() {
// Каков будет вывод программы и почему?
var err *MyError
errorHandler(err)
err = &MyError{}
errorHandler(err)
}
непустой интерфейс это два указателя, на тип с таблицей вызовов и на данные сравнение с nil проверят тип, а не данные https://play.golang.org/p/FsO8nrvG3_i
Обсуждают сегодня