Я создаю ошибку в своем пакете и сравниваю ее с io.EOF, но операнд == имеет значение false. Но их тип и значение одинаковы? Почему == операнд возвращает false?
func TestErr(t *testing.T) {
err := errors.New("EOF")
t.Log(err == io.EOF)
t.Logf("io err:%T,%v,%p", io.EOF, io.EOF, io.EOF)
t.Logf("my err:%T,%v,%p", err, err, err)
}
Эти две ошибки не равны, потому что их указатели не равны