Errores personalizados en golang y receptores de puntero

Leyendo sobre receptores de valor frente a receptores de puntero en la web y stackoverflow, entiendo que la regla básica es: si no planea modificar el receptor, y el receptor es relativamente pequeño, no hay necesidad de punteros.

Entonces, leyendo sobre la implementación deerror interfaz (por ejemplo,https: //blog.golang.org/error-handling-and-g), Veo ejemplos de laError() La función utiliza el receptor de puntero.

Sin embargo, no estamos modificando el receptor, y la estructura es muy pequeña.

Siento que el código es mucho mejor sin punteros return &appError{} vsreturn appError{}).

¿Hay alguna razón por la cual los ejemplos usan punteros?

Respuestas a la pregunta(4)

Su respuesta a la pregunta