Daniel
неэкспортируемый тип внутри пакета со всеми нужными экспортируемыми полями, копирование полей из структуры в структуру, стандартный маршалинг, возврат получившегося []byte
heavycharged
а копирование полей ручками?
Daniel
да
Daniel
ну или кодогенерацией
Daniel
ну или, если прям вот чешется, рефлексией, но хорошо не будет
heavycharged
Ясно, спасибо за предложенные варианты, пошел копипастить)
Denis
кроме того, что предложил @onokonem - реализовать https://golang.org/pkg/encoding/json/#Marshaler , еще можно сделать структурку-dto, у которой все поля будут публичные, а в конструктор она примет твою модель
Denis
и для маршаллинга использовать ее; мне такой подход больше нравится
heavycharged
Да, тоже вариант.
heavycharged
Товарищи, а подскажите пожалуйста, есть у меня
type HTMLTime time.Time
и в структуре есть поле Established *HTMLTime
как мне получить *HTMLTime из *time.Time?
heavycharged
Пробовал по разному, и так: &(HTMLTime(*b.FDICInsurance))
heavycharged
FDICInsurance в данном примере тоже самое
Dmitry
Alexey
heavycharged
чтобы сначала получить HTMLTime из time.Time, а затем получить указатель.
heavycharged
https://play.golang.org/p/kS4L0gnP4dS
heavycharged
короче вот так работает
heavycharged
а есть вариант записи по-короче?
heavycharged
сам *time.Time у меня уже есть, это из базы выборка.
Dmitry
type HTMLTime time.Time вот в этом есть смысл?
Dmitry
почему нужен новый тип?
Dmitry
почему просто не сделать filed *time.Time?
heavycharged
потому что вот https://i.imgur.com/d3OfOKl.png
heavycharged
это в шаблонах юзается для форматирования дат в инпуты
heavycharged
туда сюда
heavycharged
и JSON тоже самое
Vasily
Vasily
но при добавлении полей надо будет перегенеривать и не забывать включать туда этот костыль
Dmitry
Dmitry
вроде же проще
Dmitry
https://play.golang.org/p/W4egoPwP0Bp
heavycharged
Vasily
Vasily
там сгенерится метод, структура начнёт реализовывать интерфейс маршалера-анмаршалера и будут вызываться эти методы
Vasily
прозрачно, через json.Marshal
Vasily
те в коде ничего вообще менять не придётся, только файл со сгенерённым кодом рядом положить
heavycharged
сейчас попробую.
Vasily
единственное что ключ с имнеем поля лучше в турктуре указать. или опцию при генерации
а то по-умолчанию будет генерить с большой буквы названяи полей
heavycharged
у меня теги прописаны у полей. и они, в принципе, совпадают с флагом lower_camel_case
Fastumkruk
Запускаю на VPS приложение написанное на golang, все работает. Запускаю в фоне с помощью ./Programm & почему то виснит и не отвечает. VPS без гуя. Кто что знает по этому поводу?
Nikita
привет всем
какой адекватный способ сравнить двойные массивы без учета расположения массивов по индексу?
heavycharged
Fastumkruk
heavycharged
да, через пробел только
heavycharged
или jobs напишите
heavycharged
в консоли
Fastumkruk
heavycharged
ну а ошибки вы логгируете?
heavycharged
или нет?
Fastumkruk
heavycharged
Ну тогда советую начать.
Oleh
ребята, я знаю, что вопрос, возможно, нубский, но посоветуйте пож хорошую структуру данных в которую можно было бы поместить вот такой yaml.
media_types:
general:
- 'image/jpeg'
- 'image/tiff'
- 'image/png'
- 'image/gif'
alpha:
- 'application/pdf'
bravo:
- 'application/pdf'
Из того, что я вижу это два варианта:
*map[string][]string{}
*map[string]map[string]struct{}
Проблема заключается в том, что
1) мапу сложно вычитать из конфига
2) сложна для понимания в дальнейшей работе
Есть ли что попроще, чего я не вижу ?
Zver
Daniel
а давайте с другой стороны зайдем - вам эта структура зачем?
Altay unstppbl
Похоже на конфиг 🤔
Oleh
Altay unstppbl
Daniel
любой конфиг как-то используется
Daniel
как будет использоваться этот?
Daniel
в смысле - сто нужно от этого конфика вашему приложению?
Maxim
для конфигов неплохо подходит viper
https://github.com/spf13/viper
Daniel
коллеги, остановитесь
Daniel
тогда при чем тут media_types?
Daniel
коллега, пока объяснить не удалось ничего
Daniel
тот конфиг, пример которого вы приводили выше, совершенно бесполезен
Daniel
а двигаться надо от пользы
Nazar
Ребзя, вопрос попроще
Nazar
Например запускаеться уже скомпилированная прожка ./var/projects/Task1.go
Nazar
Как внутри определить рабочую деректорию
Nazar
Что бы подгружать конфиг
Nazar
А то если указать ./config.json то будет иметься ввиду с корня
Anonymous
Первая ссылка в гугле
Nazar
Ой
Nazar
Спасибо
Nazar
Что то я гуглил была дичь
Nazar
А в каком случае может быть err?