Artem
Да, но у меня в кавычках указано имя для вывода
Alexander
omitempty?
Мерль
json.NewEncoder(w).Encode(response)
Тогда выше правильно сказали Через тег omitempty
Artem
omitempty?
походу то что нужно, сейчас проверю
Vasily
оу
Vasily
точно, omitempty
Artem
Странно, в одном работе, в другом нет..
Artem
Выяснил, но не понимаю почему. Если в качестве типа указан []MyStruct, то работает, а если просто MyStruct, то уже нет. Почему?
Alexander
на плейграунд залей код то брат
Artem
https://play.golang.org/p/aPY1cQ1NKJt
Daniel
и что?
Artem
Почему Param1 не выводится, а Param2 выводится?
Daniel
я гляжу в ваш код, и не могу его сопоставить с вашим вопросом
Daniel
а, не, могу
Alexander
как вариант Param2 *Profile json:"param2,omitempty"
Artem
Да
Daniel
потому, что Param2 - не empty, там вполне себе структура Profile
Artem
Сработало
Daniel
что значит - сработало?
Alexander
Но лучше понимать почему))
Artem
что значит - сработало?
А что ещё это может значить?)
Daniel
=дело не в сработало, а в том, что надо понимать, что там к чему
Daniel
сработало - это если магией пользоваться
Daniel
но за магию в приличных местах принято увольнять
Alexander
устраиваемся в хогвардс))
Alexander
Структура - это уже значение и оно не empty, поэтому omitempty на неё не влияет. А указатель может быть nil и это empty, поэтому он пропускается в сериализации в json
Artem
Спасибо за объяснение
Daniel
странно, что это объяснение требуется
Artem
Спасибо за объяснение
вы просто уберите в Param1 omitempty и посмотрите что там лежит
Artem
Да, там NULL
Artem
А в Param2 просто пустые значения
Artem
Я уже понял разницу, спасибо)
Daniel
меня, как бывшего преподавателя, интересует вопрос - как так получилось, что вы ее поняли только сейчас?
Artem
У меня не было такого преподавателя, как вы)
Daniel
в школе
Daniel
в нескольких
Artem
в школе нынче программирование дают? паскаль не в счет
Заур
Если преп знает, почему нет
Заур
Чаще проблема в том, что если преп хоть какой прогер, то выгоднее прогать, чем преподавать
Artem
У них есть своя программа, которую они должны освоить. Поэтому преподаватель может знать, но времени на это не будет у него)
Daniel
Почему не в счет паскаль?
Daniel
Язык как язык
Artem
А что его на должном уровне проходят? Условие и циклы дают и все
Artem
Там задачки то вообще простенькие
Artem
И то с ними не все справляются, а если ещё глубже давать, то кто это пойдёт?
Daniel
А в нем даже адресная арифметика есть (которой нет в go)
Artem
Это дают в школе?
Daniel
я давал
Daniel
но на первом курсе уже точно дают
Artem
В том же питоне тоже есть адресная арифметика, почему бы не давать им питон?
Заур
А ЕГЭ на питоне принимается?
Artem
Вроде да
Artem
Ну окей, давать си, он есть в ЕГЭ
Artem
Шарп или плюсы, не помню
Daniel
Бейсик, Паскаль, Си, Алгоритмический язык, Python, Естественный язык
Artem
Artem
Есть питон
Daniel
там есть часть C4
Daniel
в ней прямо сказано - "на любом"
Daniel
в остальных - 6 на выбор
Artem
Ну вот, поэтому к паскалю не обязательно привязываться
Artem
Питон, как мне кажется, на базовом уровне проще, чем Паскаль
Daniel
паскаль - это строгая статическая
Daniel
а питон - строгая динамическая
Daniel
в некотором смысле строгая статическая для обучения лучше
Daniel
даже лучше, чем строгая статическая утиная
Artem
Это все спорно, в лучше случае Паскаль устарел, от него мало смысла. Хотя что уж говорить, до сих пор ассемблер дают в универе)
Daniel
погодите, а как ассемблер-то не давать?
Daniel
все-таки - надо понимать, что там за абстракциями прячется
Artem
Ну да, может он и полезен для понимания работы
Artem
Да уже давно решили этот вопрос)
Zver
Ассемблер полезен для понимания как там все работает.
Anonymous
Кстати, учусь в школе, паскаль преподают
Anonymous
Для сдачи ОГЭ, там есть задания с этим