ubuntu10.04下安装配置GO语言环境

GO语言初探

简介:一直想去研究一下Google牛人们搞出来的GO语言,终于在看了《Go语言之父谈Go:大道至简》这篇文章之后,安耐不住好奇,来体验一下GO语言是什么东西!

1.安装环境ubuntu10.04

2.安装Go的版本控制工具----这是为了下载Go语言的安装源码

    ~$:sudo apt-get install mercurial

   ~$ hg
分布式软件配置管理工具 - 水银

基本命令:

add add the specified files on the next commit
annotate show changeset information by line for each file
clone make a copy of an existing repository
commit commit the specified files or all outstanding changes
diff diff repository (or selected files)
export dump the header and diffs for one or more changesets
forget forget the specified files on the next commit
init create a new repository in the given directory
log show revision history of entire repository or files
merge merge working directory with another revision
pull pull changes from the specified source
push push changes to the specified destination
remove remove the specified files on the next commit
serve export the repository via HTTP
status show changed files in the working directory
summary summarize working directory state
update update working directory

使用 "hg help" 获得全部命令的列表,或 "hg -v" 获得详细信息

不错,一个版本管理工具,发现和git差不多

3.设置Go安装编译环境

   ~$:vim .bashrc

在文件最后添加如下内容:

GOROOT="$HOME/Go"#$HOME=/home/username
export GOROOT
GOOS=linux#系统
export GOOS
GOARCH=386#平台
export GOARCH
GOBIN="$HOME/bin"
export GOBIN
PATH=$PATH:$GOBIN#保证正确编译安装
wq保存推出
4.在配置好环境后利用第2步安装的版本控制工具下载GO源码

  ~$:hg clone -r release https://go.googlecode.com/hg/ $GOROOT

完成后在$HOME目录下可以看到Go目录,里面放置了下载的Go语言的源码

5.编译下载的Go源码

~$cd $GOROOT/src
~$./all.bash

执行完成后到$GOBIN目录

~$cd $GOBIN
~$ls
  go godoc gofmt

发现已经安装了go的相关可执行文件

可以测试go命令

  ~$ go
Go is a tool for managing Go source code.

Usage:

go command [arguments]

The commands are:

    build       compile packages and dependencies
    clean       remove object files
    doc         run godoc on package sources
    env         print Go environment information
    fix         run go tool fix on packages
    fmt         run gofmt on package sources
    get         download and install packages and dependencies
    install     compile and install packages and dependencies
    list        list packages
    run         compile and run Go program
    test        test packages
    tool        run specified go tool
    version     print Go version
    vet         run go tool vet on packages

Use "go help [command]" for more information about a command.

Additional help topics:
    gopath      GOPATH environment variable
    packages    description of package lists
    remote      remote import path syntax
    testflag    description of testing flags
    testfunc    description of testing functions
Use "go help [topic]" for more information about that topic.

6.写一个简单的例子来验证一下Go的编译链接执行过程

在任意目录下建立hello.go文件,内容如下:

package main 
import "fmt"
func main() {  
    fmt.Printf("Hello, world;\n"); 
}

然后使用8g hello.go去编译,使用8l hello.8去链接,在执行./8.out

发现这里的8g(386平台)和8l(386平台)都不识别,没有该命令

到GOROOT目录下,寻找一下8g、8l

~/Go$ find ./ -name "8g"
./src/cmd/8g
./.hg/store/data/src/cmd/8g
./pkg/tool/linux_386/8g

发现在./pkg/tool/linux_386/下面有相关命令,二话不说把目录下的所以

可执行命令文件拷贝到$GOBIN目录下

~/Go$ cp ./pkg/tool/linux_386/* $GOBIND

这里不知道为什么在执行./all.bash的时候为什么没有做拷贝,我想要我

去设计时我会这么做的;

好了这时候再去做:编译、链接、执行就可以得到结果了

7.最后验证一下安装Go语言是否完全正确

到$GOROOT目录下有个test的目录下执行run脚本

~$cd $GOROOT/test
~/Go/test$ ./run 
0 known bugs; 0 unexpected bugs

OK!没有bug,没有异常;


补充一下:

Go编译器可以支持三种指令集。不同体系结构生成的代码质量有一些差别:
amd64 (a.k.a. x86-64); 6g,6l,6c,6a
最成熟的实现,编译器在寄存器级别优化,可以生成高质量的目标代码(有时候gccgo可能更优)。
386 (a.k.a. x86 or x86-32); 8g,8l,8c,8a
amd64平台的的完整移植。
arm (a.k.a. ARM); 5g,5l,5c,5a

本文来自:CSDN博客

感谢作者:mr_mistletoe

查看原文:ubuntu10.04下安装配置GO语言环境

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。