понять как это правильно делается в go:
- есть пакет binary, но он только примитивные типы умеет.
- хочу что-то типа: прочитать структуру примитивные типов, потом прочитать N байт, потом опять структуру, ну т.е. некая потоковая обработка, но как это делать не ясно.
+ было идеально если бы умело структуру с []byte внутри
Может кто имеет с этим опыт и может подсказать? seek не нужен - читаем только вперёд
Конечный автомат реализовать может?
binary.Read умеет более сложные структуры, по факту придется делать что-то вроде binary.Read + io.ReadFull
зачем здесь конечный автомат?
Ну парсеры обычно через автоматы реализуются
чтение бинарной структуры из потока это не парсинг
звучит как почти руками :) получается никаких имплементаций стримов нету?
имхо это не парсер по сути
Не понятно каких стримов. Откуда термин, из ноды?
а какие структуры имеет binary.Read? у меня получилось только с примитивами
немного другой язык, но вот например: https://nim-lang.org/docs/streams.html вот аналогичного в go искал
фиксированного размера и преаллоцированные слайсы из них
может показать как слайсами? я что-то не понял
https://play.golang.org/p/NcbbIkUeb72
ну да, но тут нет вариабельной длинны, но да - можно readFull
ну так читайте и аллоцируйте
хотелось чуть автоматизации :)
Обсуждают сегодня