В общем, я предпочитаю указатель приемника по той причине, которую я продемонстрировал выше. Я предпочитаю Friendly API, а не производительность, и иногда, когда тип ошибки содержит огромную информацию, он более производительный.
о получателях значений по сравнению с получателями указателей в сети и потоке стека, я понимаю, что основное правило таково: если вы не планируете модифицировать получатель, а получатель относительно небольшой, указатели не нужны.
Затем, читая о реализацииerror
интерфейс (например,https://blog.golang.org/error-handling-and-goЯ вижу, что примерыError()
Функция все использует указатель приемника.
Тем не менее, мы не модифицируем получателя, и структура очень мала.
Я чувствую, что код намного лучше без указателей (return &appError{}
противreturn appError{}
).
Есть ли причина, почему в примерах используются указатели?