У меня есть пара переменных типа ошибки, определенных глобально.Например,
var ErrFileNotExist = errors.New("File does not exist")
На стороне сервера это используется в качестве возвращаемого значения в RPC, например,
func (t *Type) F(args *T1, reply *T2) error {
...
// some code here.
return ErrFileNotExist
}
Но на стороне клиента вызов этого RPC и получение возвратазначение, сравните его с глобальным ErrFileNotExist
, оно не совпадает.То есть
...
// client set up
e := c.Call(...)
log.Prinln(e) // File does not exist
log.Println(e == ErrFileNotExist) // false
Почему это происходит?Есть ли обходной путь?