Kirill
Konstantin
Попытка не пытка
Konstantin
Enum'ов вроде нет, как быть, если необходимо на вход функции передавать лишь несколько определенных вариантов?
Мерль
Konstantin
Не нашел ответ, чорт
Мерль
Например так:
https://play.golang.org/p/_T_QLd7Ycu
Мерль
^ Вотъ
Мерль
я чем в пятый раз пишу об этом за последнюю неделю :)
вот так: https://github.com/Djarvur/parsewords/blob/master/parsewords.go#L26
Мерль
И вотъ
Konstantin
Хм, но разве в обоих случаях ничто не помешает просто объявить левую переменную этого типа и сломать тем самым поведение?
Мерль
Konstantin
Так то через свой тип и делал, но именно из-за того, что это не мешает все поломать решил спросить.
Anonymous
В своём пакете ты можешь всё поломать, а если подключишь как библиотеку, то тип констант сделан неэкспортируемым типом и тут всё в порядке
Daniel
именно\
Daniel
но у себя все поломать существует более одного способа
Daniel
если совсем страшно - можно унести этот тип и константы в отдельный пакет
Konstantin
Хм, а вот про неэкспортируемый тип не подумал, это круто.
Хотя с интерфейсами вроде все равно не прокатит.
Daniel
в каком смысле - не прокатит?
Konstantin
Если тип сделать неэспортируемым, то из другого пакета под него уже ничего и не сделать, будут только свои константы.
А если интерфейс какой-то, то его подделать из другого пакета ведь можно просто объявив нужные функции.
Daniel
да
Konstantin
Вот я об этом и говорю) Но коль тип можно сделать неэкспортируемым, то это то что нужно)
Konstantin
По сути и выходит enum)
Anonymous
Anonymous
!kb
Konstantin
Хм, а можно как-то объявить что-то вроде константной структуры? Чтобы при работе из другого пакета можно было из нее дергать данные.
Daniel
нельзя
Daniel
то есть - все тот же фокус, неэеспортируемый тип
Anonymous
Только переменную неэкспортируемого типа
Konstantin
Понятно. Печально немного, а то засоряется мощно так неймспейс
Daniel
это правда, константы сложных типов и константные переменные не повредили бы
Kirill
Шо, опять?
Илья
Всем привет. А есть что почитать про джоины в Gorm? Нашёл статью https://kaviraj.me/go-gorm-using-joins но примеры из неё не работают
Бекбосын
У кого есть советы или опыт по обрабатыванию wsdl файла
SOAP запроса
Pavel
что такое мок?
Anatoly
заглушка
Pavel
ну я понимаю что это объект, который может использоваться ля тестов
Pavel
но как его сотворить то?
Pavel
ну например что такое mock-сервер
Ruslans
Evgenii
тестовый сервер
Pavel
всмысле тестовый сервер?
Pavel
я не понимаю
Evgenii
отдающий тестовые данные
Pavel
у меня есть в продакшене допустим http сервер
Pavel
как мне его «мокнуть»?
Aleksandr
Pavel
я не понимаю как это должно работать
Pavel
что это значит
Aleksandr
Evgenii
поднимаешь рядом такой же сервер, только он отдает тестовые данные
Evgenii
вообще это же не официальное название
Evgenii
можно поднять отдельный сервер и отдавать там данные не из базы а захардкоженные
Pavel
Evgenii
можно натрваить его на тестовую базу
Pavel
казалось бы взял да поднял сервер еще один только для тестов
Pavel
но библиотеки то зачем
Anatoly
Все зависит от типа тестов
Evgenii
а что за либы?
Evgenii
может они не сервер мокают, а сервисы на клиенте
Anatoly
юниттесты не должны ничего такого хотеть
Pavel
ну вот мне 2 раза уже успели либу посоветовать
Pavel
httptest глянь
Pavel
тесты в httptest глянь
Pavel
Pavel
Aleksandr
заглушка
Aleksandr
Evgenii
короче, вообще смысл любого мока в том что ты создаешь реализацию один в один моделирующую интерфейс реального объекта, но с тестовм поведением
Pavel
да смысл понятен то но как процесс то устроен
Pavel
сам
Aleksandr
Pavel
да смотрел уже
Evgenii
есть saveToDb который сохраняет данные в базу, пишешь точно такой же только он ничего не делает, вот и получился мок