Google анонсировала новую версию Go с поддержкой разработки собственных приложений для Android, а также улучшенной сборки мусора.
Поддержка Android все еще находится на стадии «тяжелой разработки», согласно блогу Go. Написав о новом выпуске в блоге, Эндрю Джерранд сказал, что, используя поддержку в ядре и библиотеки в репозитории, теперь можно писать простые приложения для Android, используя только код Go. Однако он говорит, что на данном этапе,
“библиотеки поддержки все еще находятся в стадии зарождения и интенсивного развития. Ранние усыновители должны ожидать ухабистой езды, но мы приветствуем участие сообщества.”
Поддержка Android предоставляется через golang.org/x/mobile хранилище. В нем есть пакеты, которые генерируют языковые привязки, позволяющие вызывать код Go из Java для создания полностью собственного приложения. В репозитории также есть примеры кода и привязок для OpenGL. В примечаниях к выпуску говорится, что основное внимание будет уделено поддержке игр, написанных на Go, и что это гораздо меньшее подмножество приложений для Android будет написано на гораздо меньшей поверхности API игр на основе C.
План состоит в том, что приложение будет использовать OpenGL для рисования на весь экран, не подвергая какой-либо инфраструктуре управления экраном Android. Как только поддержка Android будет выпущена в окончательной версии, все API, поддерживаемые Android NDK, будут доступны через пакет Go.
Другое важное изменение, которое нужно внести в 1.4, — это сборщик мусора. Это частично должно лечь в основу полностью параллельного коллектора, который будет разрабатываться в течение следующих нескольких выпусков. Кроме того, изменился синтаксис циклов for-range.
Теперь вы можете написать «для диапазона s {» , чтобы перебирать каждый элемент из s, не назначая значение, индекс цикла или ключ карты. О
эти изменения подробно описаны в примечаниях к выпуску. Этот релиз также совпадает с переходом проекта от Mercurial к Git (для управления версиями), от Rietveld к Gerrit (для обзора кода) и от Google Code к Github (для отслеживания проблем и вики). Перемещение влияет на основной репозиторий Go и его суб-репозитории.
Вы можете найти канонические репозитории Git по адресу go.googlesource.com, а также трекер проблем и вики в репозитории golang/go GitHub.