How to setup environment for Go

Go Programming Language ဟာ ဒီဆယ္စုနွစ္အတြင္းမွာ အသစ္ထြက္ေပာ္လာတဲ့ New Programming Language တစ္ခုပါ။ Developer ကေတာ့ Google ပါ။ Authors ေတြကေတာ့ Plan9 OS project က Rob Pike, Ken Thompson အပါအဝင္ Robert Griesemer နွင့္ အျခားပုဂဿဿဂုိလ္မ်ားျဖစ္ျကျပီး BSD-style License နဲ့ Open Source Distribution ျဖစ္ပါတယ္။
Go က C/C++ တို့လို Compiled Language ျဖစ္ျပီး gc (8g,6g) နဲ့ gccgo တို့က Go အတြက္ compilers ေတြျဖစ္ျကပါတယ္။ ေလာေလာဆယ္ေတာ့ Linux နဲ့ Mac OS မွာပဲ ဒီ compilers ေတြကိုအသံုးျပုနိုင္ပါေသးတယ္။
Go ကို ေလ့လာနိုင္ဖို့အတြက္ အဓိကေနနဲ့ Go compiler နဲ့ အျခားလိုအပ္တဲ့ programming environment programs ေတြပါ။ ဒါေတြကို go source ကေန့ Build လုပ္ဖို့အတြက္ ျပင္ဆင္ရေအာင္။ က်ေနာ္ကေတာ့ Debian GNU/Linux user ဆိုေတာ့ က်ေနာ့္ Linux x86 (386) မွာ ဘယ္လို setup လုပ္လဲဆိုတာ နမူနာအေနနဲ့ေရးမွာပါ။
ပထမဦးဆံုးအေနနဲ့ က်ေနာ္တို့ ~/.bashrc ဖိုင္မွာ Environment variables ေတြကို ေရးရေအာင္ ~/.bashrc ဖိုင္ကို gedit နဲ့ပဲျဖစ္ျဖစ္ ျကိုက္နွစ္သက္ရာ editor တစ္ခုခုနဲ့ပဲျဖစ္ျဖစ္ဖြင့္ျပီး ေအာက္က Environmnet variables ေတြကို ထည့္ျဖည့္ေရးေပးျပီး .bashrc ဖိုင္ကို သိမ္းျပီး ပိတ္လိုက္ပါ။

$ gedit ~/.bashrc

## Go Environment variables ##
export GOROOT=~/hg
export GOOS=linux
export GOARCH=386
export GOBIN=~/bin

ျပီးရင္ ~/.bashrc ဖိုင္ကို save ျပီး ပိတ္လိုက္ပါ။ ျပီးရင္ ေအာက္က command ကို Terminal ထဲမွာပဲ run ေပးပါ။

$ source ~/.bashrc

ျပီးရင္ Environment Variables ေတြက memory ထဲေရာက္ျပီးလား Test လုပ္ျကည့္ပါ။

$ env | grep '^GO'
GOBIN=/home/username/bin
GOARCH=386
GOROOT=/home/username/hg
GOOS=linux

အဲလိုအေပာ္က results ကိုေတြ့မွာပါ။ ဒါေပမယ့္က်ေနာ္တို့ ~/bin folder မရွိေသးရင္ mkdir နဲ့ folder လုပ္ေပးရပါမယ္။

## making 'bin' folder under your home directory ##
$ mkdir -p ~/bin

ျပီးရင္ mercurial ကိုသံုးျပီး go source files ေတြကို fetch မွာျဖစ္ပါတယ္။ က်ေနာ့္ Linux က Debian ျဖစ္သမို့ က်ေနာ္ apt ဒါမွမဟုတ္ aptitude ကိုသံုးျပီး mercurial ကို ေအာက္ကအတိုင္း install လုပ္ပါမယ္။ ခင္ဗ်ားမွာ mercurial ရွိျပီးသားဆိုရင္ေတာ့ install လုပ္စရာမလိုတဲ့အတြက္ ဒီအဆင့္ install လုပ္တဲ့အဆင့္ကိုေက်ာ္ျပီး go source files ကို fetch လုပ္နိုင္ပါျပီ။

## installing mercurial ##
$ sudo apt-get install mercurial

mercurial ကို install လုပ္ျပီးတဲ့အခါ က်ေနာ္တို့ go source files ေတြကိုရယူဖို့အတြက္ ေအာက္က command line ကို run ေပးပါမယ္။

## fetching go source files ##
$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT

source files ေတြရျပီးရင္ အဲဒါေတြကို build လုပ္ဖို့အတြက္ လိုအပ္တာေလးေတြကို install လုပ္ေပးပါမယ္။

## installing gcc and others to build go source ##
$ sudo apt-get install bison gcc libc6-dev ed make

ျပီးရင္ Go Distributions ကို က်ေနာ္တို့ build ရေအာင္ ..

## building go distribution ##
$ cd $GOROOT/src
$ ./all.bash

တေအာက္ေလာက္ေစာင့္ေပးျပီးရင္ ေအာက္က results ကိုေတြ့မွာပါ။ အဲဒါဆိုရင္ building process က အဆင္ေျပျပီး go compiler ကိုသံုးလို့ရပါျပီး ..

--- cd ../test
0 known bugs; 0 unexpected bugs

အေသးစိတ္သိခ်င္ရင္ေတာ့ ဒီလင့္ခ္ ေလးကို သြားျပီးဖတ္ပါ။

vim မွာ go syntax highlight အတြက္ ကိုစိုးမင္းရဲ့ post ကိုသြားဖတ္နိုင္ပါတယ္။
ဒီမွာပဲတဆက္တည္းျကည့္လိုက္ရေအာင္ က်ေနာ္ေရးေပးလိုက္ပါတယ္။

## adding go syntax for vim editor ##
$ mkdir ~/.vim/
$ mkdir ~/.vim/syntax/
$ cp $GOROOT/misc/vim/go.vim ~/.vim/syntax/

## making and opening ~/.vimrc file ##
$ gedit ~/.vimrc

gedit နဲ့ ~/.vimrc ဖိုင္ပြင့္လာျပီးဆိုရင္ ေအာက္ကဟာေတြကို ကူးျပီးေရးျဖည့္ေပးလိုက္ျပီး သိမ္းျပီး ပိတ္ေပးလိုက္ပါ။

autocmd BufNewFile,BufRead *.go set filetype=go
:syntax on

ခုဆိုရင္ vim editor နဲ့ go programming language ကို syntax highlight ေတြနဲ့ေလ့လာနိုင္ပါျပီ။

Enjoy learning Go!

1 comment: