170 похожих чатов

Почему плохо возвращать некэспортируемый тип(структуру)?

8 ответов

4 просмотра

А где вы прочитали что это плохо? Там не написано?)

DORIAN GRAY- Автор вопроса
Александр Костюченко
А где вы прочитали что это плохо? Там не написано?...

да везде. например https://deepsource.io/blog/common-antipatterns-in-go/#1-returning-value-of-unexported-type-from-an-exported-function

DORIAN GRAY
да везде. например https://deepsource.io/blog/comm...

Ну, так там же и написано почему это не рекомендуется

DORIAN GRAY- Автор вопроса

ну хочу просто разобраться, может действительно где-то в будущем наткнусь на ошибку

DORIAN GRAY
ну хочу просто разобраться, может действительно гд...

И в третий раз) По ссылке которую вы скинули написано, почему так не рекомендуется делать: An exported function or method returning a value of an unexported type may be frustrating to use since callers of that function from other packages will have to define a type again to use it.

Александр Костюченко
И в третий раз) По ссылке которую вы скинули напис...

Если вам просто нужны методы этой структуры, и вам не нужно никуда прокидывать тип или вы хотите запретить использование типа без конструктора, то делайте, почему нет... Но обычно для построения системы вам нужно знать либо тип, либо создавать интерфейс

DORIAN GRAY- Автор вопроса
Александр Костюченко
Если вам просто нужны методы этой структуры, и вам...

да я понимаю это. но просто это вынесли в какой-то антипаттерн, как будто человек не поймет что тип надо поменять на экспортируемый, если компилятор вызовет ошибку

DORIAN GRAY
да я понимаю это. но просто это вынесли в какой-то...

Причем тут компилятор и как-то ошибки?) Вам пакет 1 вернет неэкспортируемый тип В пакете 2 функция захочет принять этот тип - но не сможет т.к его не существует для него

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
50
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Народ, с прошедшими и наступающими. Ща полную ересь прогоню, но фишка в том, что это не обычная алкогольная ересь Либера, а я реально хз что делать. Сайт с 2012-го года Косяк...
Alexey Liber
2
Карта сайта