Sunday, November 15, 2009

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!

2 comments:

  1. Google's new programming language, called Go, took the application development world by storm when the search giant released it. The ambitious technology's pedigree features programming experts from the Unix world, including Ken Thompson, who teamed with Dennis Ritchie to create Unix. Created as a systems programming language to help speed up development of systems inside Google, Go is now viewed as a general-purpose language for Web development, mobile development, addressing parallelism and a lot more.

    zinc

    ReplyDelete