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 для разработки встроенных приложений.