Size: a a a

2020 December 03

АG

Андрей Golovchenko... in Go-go!
Всем добрый день. Подскажите пожалуйста как лучше поступить в следующей ситуации(я новенький в Go потому и интересуюсь)
Необходимо написать простенький парсер из файла XML в файл Json но изучив документацию по стандартным пакетам из ветки encoding понял что нужно указывать строгую структуру для парсинга.
Как лучше поступить чтоб сделать струкутру динамической, т.е. файлы xml могут быть с разными тегами и по факту подобрать определённую структуру для данных не получается.
Заранее благодарю за ответ
источник

AB

Andrey Berdin in Go-go!
Всем добрый день! Помогите пожалуйста советом.
Существуют две таблицы в базе с данной структурой

type Bukket struct {
Id int
Sum float64
Owner int
}

type Item struct {
Id int
price float64
Category string
Name string
Link string
}

Существует ли простой и быстрый способ, заполнять поле Sum в таблице Bukket которое суммирует значения из полей price таблицы Item. Принцып списка покупок, или корзины в магазине.
Заранее благодарю за помощь!
источник

ВС

Владимир Столяров... in Go-go!
Андрей Golovchenko
Всем добрый день. Подскажите пожалуйста как лучше поступить в следующей ситуации(я новенький в Go потому и интересуюсь)
Необходимо написать простенький парсер из файла XML в файл Json но изучив документацию по стандартным пакетам из ветки encoding понял что нужно указывать строгую структуру для парсинга.
Как лучше поступить чтоб сделать струкутру динамической, т.е. файлы xml могут быть с разными тегами и по факту подобрать определённую структуру для данных не получается.
Заранее благодарю за ответ
стандартный парсер не умеет складывать результат в map, но вот например есть такая обертка https://github.com/sbabiv/xml2map
источник

АG

Андрей Golovchenko... in Go-go!
Владимир Столяров
стандартный парсер не умеет складывать результат в map, но вот например есть такая обертка https://github.com/sbabiv/xml2map
огромное спасибо))) посмотрел код обёртки и понял принцип. В целом там обычный файл пакета который можно напрямую юзать.
То что нужно)
источник

ВС

Владимир Столяров... in Go-go!
там можно даже попробовать организовать потоковое кодирование-декодирование, если вдруг xml-и могут быть большими
источник

АG

Андрей Golovchenko... in Go-go!
Владимир Столяров
там можно даже попробовать организовать потоковое кодирование-декодирование, если вдруг xml-и могут быть большими
не. там файлы не особо большие чтоб с много поточностью решать, но намёк понятен. я пока с каналами не особо разобрался, но перепишу.
источник

н

немедленно in Go-go!
Андрей Golovchenko
не. там файлы не особо большие чтоб с много поточностью решать, но намёк понятен. я пока с каналами не особо разобрался, но перепишу.
намёк не на многопоточность, а на потоковую обработку
источник

ВС

Владимир Столяров... in Go-go!
т.е. чтобы распаршенную мапу не хранить в памяти целиком
источник

ВС

Владимир Столяров... in Go-go!
правда по-моему стандартный json encoder так не умеет, а вот jsoniter умеет
источник

DP

Daniel Podolsky in Go-go!
Вообще - json не потоковый формат. Обычно нельзя корректно распарить json, не получив его целиком
источник

MK

Max Kononets in Go-go!
Всем привет, посоветуйте плиз пакет - планировщик задач для го.
Интересно что-то гибкое как крон
источник

MK

Max Kononets in Go-go!
Насколько этот нормальный?
https://godoc.org/github.com/robfig/cron
источник

АG

Андрей Golovchenko... in Go-go!
Ну я в целом понял что идея была в использовании io.Pipe.
источник

RL

Ragnar Lodbrok in Go-go!
Max Kononets
Насколько этот нормальный?
https://godoc.org/github.com/robfig/cron
Нормальный, свою задачу выполняет
источник

M

Mikhail in Go-go!
Max Kononets
Всем привет, посоветуйте плиз пакет - планировщик задач для го.
Интересно что-то гибкое как крон
Я использовал это https://github.com/jasonlvhit/gocron
Очень доволен, но мэйнтейнер перестал его поддерживать и другие ребята форкнулись и продолжают вот здесь  https://github.com/go-co-op/gocron
источник

NL

Nikita L in Go-go!
Max Kononets
Насколько этот нормальный?
https://godoc.org/github.com/robfig/cron
Использовали этот пакет в паре сервисов, проблем не возникало
источник

MK

Max Kononets in Go-go!
Как я понимаю, это обычный синтаксис конфигурации крона?
источник

ВС

Владимир Столяров... in Go-go!
плюс в пакете есть возможность расширить планировщик, я например добавил исполнение задач только по рабочим дням (предварительно скачивая производственный календарь)
источник

D

DORIAN GRAY in Go-go!
Пользовался кто go-pg?
источник

p

pragus in Go-go!
Max Kononets
Насколько этот нормальный?
https://godoc.org/github.com/robfig/cron
мы используем его
источник