В общем, я предпочитаю указатель приемника по той причине, которую я продемонстрировал выше. Я предпочитаю Friendly API, а не производительность, и иногда, когда тип ошибки содержит огромную информацию, он более производительный.

о получателях значений по сравнению с получателями указателей в сети и потоке стека, я понимаю, что основное правило таково: если вы не планируете модифицировать получатель, а получатель относительно небольшой, указатели не нужны.

Затем, читая о реализацииerror интерфейс (например,https://blog.golang.org/error-handling-and-goЯ вижу, что примерыError() Функция все использует указатель приемника.

Тем не менее, мы не модифицируем получателя, и структура очень мала.

Я чувствую, что код намного лучше без указателей (return &appError{} противreturn appError{}).

Есть ли причина, почему в примерах используются указатели?

Ответы на вопрос(4)

Ваш ответ на вопрос