Go: Protocol BuffersProtocol Buffers — протокол сериализации структурированных данных, предложенный Google как эффективная бинарная альтернатива XML. Разработчики сообщают, что Protocol Buffers проще, компактнее и быстрее, чем XML. Для его использования сначала нужно описать структуру данных, которая затем компилируется в классы. Вместе с классами идёт код их сериализации в компактном формате представления. Чтение и запись данных доступна в высокоуровневых языках программирования — таких как С++, Java, Go, Python и др. Если сравнить Protocol Buffers и XML, то они имеет следующие преимущества:
Попробуем определить формат сообщения. Для этого создадим файл person.proto со следующий содержимым:
syntax - определяет версию синтаксиса. package - название пакета. Формат сообщения прост и нагляден. Получить больше информации по формату proto файлов можно в документации. Далее нужно скомпилировать сообщение для использования в коде программы это делает при помощи специального компилятора (protoc). Который можно скачать для Linux по следующей ссылке Для использования в C++, Java, Python этого достаточно, для Go нужно установить специальный плагин к нему. Это делается следующей командой:
После чего нужно в переменную PATH добавить директорию содержащую protoc-gen-go, по умочанию это $GOPATH/bin . Теперь можно выполнить компиляцию
На выходе получаем файл person.pb.go в директории pb. Далее создаем объект полученного класса:
Упаковка данных осуществляется следующим образом:
Для того чтобы распаковать сообщение достаточно выполнить команду:
Полный текст программы ниже:
21.07.2017 |
популярные тэги
наука
интересно
новости
технологии
история
go
golang
программирование
it
искусственный интеллект
путешествия
природа
космос
ai
базы данных
медицина
science
анализ текстов
ии
text mining
робототехника
авто
музыка
роботы
интернет
нейронные сети
robots
space
вокруг света
postgresql
алгоритмы
гитара
животные
оружие
google
nosql
авиация
здоровье
техника
auto
|