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

Смотрю тут исходники одного бота, никак понять не могу, зачем

автор делает две структуры handler и Handler и из них делает конструктор? Одна экспортируемая, другая нет, но что-то туплю зачем такие финты ушами нужны: https://github.com/handybots/toemoji/blob/master/handler/handler.go

7 ответов

12 просмотров

С большой буквы - это просто DTO.

мне не нравится такой подход, я бы это объединил в одну структуру, если нужен экспорт - с большой буквы

Denis-Nesterenko Автор вопроса
Виталий Фунтиков
С большой буквы - это просто DTO.

Эх... не даются мне пока эти все паттерны... :(

Denis Nesterenko
Эх... не даются мне пока эти все паттерны... :(

Ну в данном случае все просто. Автор решил не писать несколько аргументов у конструктора. Ну и плюс сделать так, чтобы параметры нельзя было поменять у созданного объекта.

Denis-Nesterenko Автор вопроса
Виталий Фунтиков
Ну в данном случае все просто. Автор решил не пис...

Возвращать неэкспортируемый тип в экспортируемой функции - такое себе... В общем - это скорее изврат, чем реальная необходимость

Johnny Ipcom🇺🇦
Возвращать неэкспортируемый тип в экспортируемой ф...

Тут тоже трюк. Определить переменную через var не получится, но через h:= сработает. Т.е. это ещё и запрет создавать объект как либо ещё, кроме как через конструктор.

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

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

кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
11
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Карта сайта