Тема для обсуждения пока не готова. Вы можете воспользоваться этой темой, если будут вопросы и предложения.Добрый день, дорогие друзья. Когда-то я начал изучать Python. И это был замечательный выбор, не спорьте. Но со временем, когда я стал писать все больше и больше кода, я понял, что мне нужен немного другой язык. И мой выбор пал на Go или, как принято называть его в книгах, Golang. Он многопоточный и компилируемый. Сейчас я бы не сказал, что он мне понравился больше питона, Java, etc. Нет. Но все равно у меня появилось желание рассказать о нем другим. А уже использовать его или нет - выбор ваш.
Итак, начинаем.
ПриветствиеИтак. Я решил написать серию уроков по языку программирования Go для не новичков в программировании. Информация в сети есть, но она меня не сильно устроила тем, что большинство из неё - англоязычная, а на русском есть только несколько статей и
книга. Книга хорошая, но сойдет больше за справочник, нежели за учебник, на мой взгляд.
К тому же, написание этих уроков поможет мне самому систематизировать знания в моей голове.
В уроках будут преподноситься основы языка и некоторые приемы, а в конце реализация какой нибудь практичной вещи на этом языке
Поехали
Язык GoЯзык программирования Go или, как советуют писать в поисковых запросах и тегах, Golang является компилируемым в нативный код, ориентированным на многопоточность и кросспратформенным языком программирования с внутренним механизмом сборки мусора, который разработала компания Google.
Разработка мотивировалась тем, что в настоящее время большинство современных языков программирования не являются "современными". С ростом производительных мощностей и количества ядер вычислительных машин, необходимо сделать упор на параллельную обработку данных, а так-же на скорость исполнения кода и простоту его написания. Все эти требования побудили разработчиков из Google создать свой язык программирования, который бы удовлетворял все эти требования.
Но не будем сильно вникать в формальности и историю, все это можно самому прочитать в сети.
Почему я выбрал его? За простоту синтаксиса, компиляцию в нативный код, легкость в параллелизме и синхронизации (основана на каналах) и конечно - кроссплатформенность, причем настоящую. Любой код, написанный на этом языке (без специфичных сторонних библиотек) можно скомпилировать под FreeBSD, OpenBSD, Linux, Mac OS X и Windows. Все системные вызовы и привязка к платформе спрятана в стандартных библиотеках, которые для каждой платформы - свои.
Устанавливаем языкЯ буду рассказывать как установить язык (компилятор, стандартные библиотеки, документацию и вспомогательные утилиты) в систему на примере Ubuntu 12.04. Не думаю, что для производных и других дистрибутивов, основанных на ядре Linux будут существенные отличия.
Для начала - скачаем Go с официальной страницы закачек на
GoogleCode. Не советую использовать пакеты из репозиториев дистрибутивов, потому что нам нужна самая свежая версия.
Итак, скачиваем архив для своей системы - 386 или amd64 для систем x86 и x64 соответственно.
После чего переходим в каталог, куда был скачан файл и извлечем все файлы из архива:
tar -C /usr/local -xzf go1.2.linux-amd64.tar.gz
Могут потребоваться права суперпользователя. Советую производить распаковку именно в этот каталог, так будет проще настроить работу Gocode, который нам понадобиться для настройки GoSublime.
После распаковки добавим в к переменной окружения PATH путь к каталогу исполняемых файлов компилятора и утилит, которые мы только что извлекли. Для этого выполним следующую команду:
export PATH=$PATH:/usr/local/go/bin
Для того, чтобы не делать этого при каждой загрузке системы, необходимо добавить путь /usr/local/go/bin в файл /etc/environment через двоеточие к переменной PATH, с помощью любого текстового редактора.
Создадим в домашнем каталоге папку, которая будет содержать все наши проекты, а так-же папки исходных текстов и исполняемых файлов:
mkdir ~/go
mkdir ~/go/bin
mkdir ~/go/src
Теперь укажем переменную окружения GOPATH и добавим папку исполняемых файлов в PATH:
export GOPATH=$HOME/go
export PATH=$PATH:/$GOPATH/bin
Эти переменные так-же можно добавить в файл /etc/environment.
Итак, язык установлен в системе.
Установка и настройка Sublime Text + GoSublime + GocodeДля начала скачайте и установите Sublime Text 3, любым приемлемым для вас способом
Теперь установим утилиту Gocode, которая позволяет реализовать autocompleate:
go get github.com/nsf/gocode
Если в системе нет Git, тогда Go сообщит, что не может его найти. В этом случае установите Git в систему и повторите команду.
После этого нужно установить GoSublime. Для этого необходимо установить Package Control, если он у вас не установлен. Откройте Sublime Text и вызовите консоль, через меню View > Show Console. Скопируйте в нее код который вы можете взять по
ссылке или скопировать отсюда:
import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
После того, как Package Control установится, нажмите сочетание клавиш: ctrl+shift+p и начните набирать Package Control: Install Package после чего нажмите Enter и подождите пока обновится информация о пакетах. После чего отобразится поле, в которое необходимо ввести GoSublime и нажать на Enter. GoSublime скачается и установится сам.
Поздравляю! Теперь можно работать!
Если не устали - продолжим.
Долгожданный Hello, world!Так, как окружение у нас настроено - можно приступать писать код.
Перейдите в каталог ~/go/src и создайте каталог hello_world, в нем создайте файл hello.go и откройте его с помощью Sublime Text и введите следующий код руками, autocompleate вам поможет
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello, world!")
}
Что тут написано и зачем\почему рассмотрим в следующем уроке, а пока - выполните следующую команду в каталоге с файлом исходного кода, который мы только что создали и написали:
go run hello.go
Если вы все сделали правильно, то вы увидите как ваша скомпилированная и запущенная программа поздоровается с миром
Продолжение следует...
Все права на статью принадлежат сайту Дафтер и пользователю freedom4live. Копирование запрещено. 2014 год.