26 июля 2016 г.

Установка Go и настройка рабочего окружения

Краткая инструкция по установке языка программирования Go и быстрой настройке рабочего окружения.

Для пользователей Windows:
  1. Скачать с сайта https://golang.org установочный пакет Go в формате MSI и установить.
  2. Убедиться, что в консоли по команде go version выводится установленная версия Go.
  3. Создать папку c:\GoPath в которую будут скачиваться исходники сторонних проектов (зависимости от сторонних библиотек).
  4. Добавить в системные переменные GOPATH и прописать в ней путь к созданной папке.
  5. Также нужно добавить %GOPATH%\bin в системную переменную PATH (пути добавляются через разделитель ";").
  6. Убедиться, что путь прописанный в GOPATH отображается в переменных Go по команде в консоли: go env
  7. Установить программу Git c сайта https://git-scm.com
  8. Убедиться, что в консоли по команде git --version выводится версия установленного Git.
  9. Затем установить MinGW-w64 (инструкция по установке).
  10. Добавить в системную переменную PATH путь до установленного компилятора. Пример пути: c:\mingw-w64\i686-6.1.0-posix\mingw32\bin
  11. Убедиться, что в консоли по команде gcc -v выводится версия компилятора.
  12. Теперь загрузка исходников (со всеми зависимостями) автоматически будет происходить в папку указанную в переменной GOPATH по команде в консоли: go get -u github.com/<author>/project
Для пользователей Linux и Mac:
  1. Установить готовый пакет Go для вашего дистрибутива.
  2. Убедиться, что в терминале по команде go version выводится установленная версия Go.
  3. В домашней директории пользователя создать папку GoPath в которую будут скачиваться исходники сторонних проектов (зависимости от сторонних библиотек).
  4. В домашней директории пользователя создать файл .bashrc и прописать в нём строки:
    export GOPATH="$HOME/GoPath"
    export PATH="$PATH:$GOPATH/bin"
  5. Закрыть все запущенные экземпляры терминала (для обновления настроек).
  6. Убедиться, что путь прописанный в GOPATH отображается в переменных Go по команде в терминале: go env
  7. Установить пакет с программой Git (обычно уже установлен в большинстве дистрибутивов).
  8. Убедиться, что в терминале по команде git --version выводится версия установленного Git.
  9. Установить пакет GCC компилятора со всеми необходимыми инструментами для компиляции (обычно уже установлен в большинстве дистрибутивов).
  10. Убедиться, что в терминале по команде gcc -v выводится версия компилятора.
  11. Теперь загрузка исходников (со всеми зависимостями) автоматически будет происходить в папку указанную в переменной GOPATH по команде в терминале: go get -u github.com/<author>/project
Для дополнительного удобства программирования на Go можно установить кроссплатформенную интегрированную среду разработки LiteIDE.

13 июля 2016 г.

Подборка изображений Golang Gophers (Гоферов)

Большая коллекция изображений "Гофера" (Gopher), который является талисманом языка программирования Go. История возникновения гофера, и почему он был выбран талисманом, доступна в официальном блоге Go.

Ссылка на скачивание архива с гоферами: Скачать Go Gopher Pack
По ссылке архив, сжатый архиватором: 7-zip

11 июля 2016 г.

Использование языка C в Go программах

Статья, которая послужит памяткой по использованию "сишного" кода в программах на Go. Для профи тут мало чего интересного, но новичкам будет полезно.

Cgo

Go настолько замечательный язык, что его можно использовать не только вместо языка Си, но и вместе с Си. Для этого есть специальная "тулза" cgo. И есть замечательная статья, которая объясняет основы использования cgo. Но там, как пример, приводится использование только стандартных библиотечных функций. В этой же статье я попытался показать маленький пример, как использовать cgo для работы со своими кусками "сишного" кода.

C в Go

Для использования Си кода проще всего создать библиотеку, которую можно будет линковать с нашей программой.

В директории нашего Go проекта создадим директорию: c_lib
Затем в директории c_lib создадим файл: example.c
int x(int y) {
    return y+1;
}

1 июля 2016 г.

Примеры из книги Programming in Go

Архив с примерами из книги Programming in Go by Mark Summerfield.
Примеры адаптированы под Go версии 1.6

Ссылка на скачивание примеров: Скачать Go Examples
По ссылке архив, сжатый архиватором: 7-zip

Programming in Go
Обложка книги Programming in Go

Названия пакетов Go

Перевод статьи "Package names" (автор Sameer Ajmani).

Введение

Go код организован в пакеты. Внутри пакета можно обращаться к любому идентификатору (имени) определенному в этом пакете, а клиент может обращаться только к экспортируемым типам, функциям, константам и переменным. Такие обращения всегда содержат имя пакета в качестве префикса: foo.Bar ссылается на экспортируемое имя Bar из пакета foo.

Годные имена пакетов делают код лучше. Имя пакета определяет некоторый контекст для содержимого этого пакета и это позволяет клиентам лучше понимать зачем и как можно его использовать. Также, название помогает сопровождать пакет, определяет что входит в обязанности данного пакета, а что нет. Пакеты с хорошими названиями позволяют проще и быстрей находить необходимый код.

В "Effective Go" описаны некоторые базовые принципы именования пакетов, типов, функций и переменных. В этой статье мы продолжим разговор и рассмотрим несколько примеров названий для пакетов из стандартной библиотеки. А также, поговорим о плохих именах, и как от них избавляться.