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

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

8 ответов

17 просмотров

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

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 функция захочет принять этот тип - но не сможет т.к его не существует для него

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта