Go — это язык программирования общего назначения с открытым исходным кодом, разработанный Google для системного программирования. Особенности языка, которые делают его подходящим для создания простого, надежного и эффективного программного обеспечения:
- Явная поддержка параллелизма
- Строго типизированный
- Вывоз мусора
- Всего 25 ключевых слов
- Простой способ управления зависимостями как пакетом
Go предоставляет инструменты кросс-компилятора для компиляции двоичных файлов для разных платформ.
Go предоставляет пакеты для последовательного порта, I2C, TCP и всех основных периферийных устройств встроенных систем. Кросс-компилятор, дополненный пакетами, позволяет быстрее осуществлять развертывание встраиваемых приложений.
Рассмотрим простое приложение Go для получения данных по последовательному порту и преобразования их в формат JSON для отправки по TCP. Это приложение можно скомпилировать для разных платформ с помощью простых команд кросс-компиляции Go:
Для процессоров Apple и Intel,
$ GOOS=darwin GOARCH=386 go build test.go
Для процессоров Linux и ARM,
$ GOOS=linux GOARCH=ARM GOARM=7 go build test.go
Существуют специальные фреймворки Go для встраиваемых систем, такие как Gobot, EMBD, TinyGo.
Простота программирования и развертывания приложений Go на разных платформах делает его привлекательным вариантом использования Go для разработки встроенных приложений.