Golang:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Lifulinghan留言 | 贡献
Lifulinghan留言 | 贡献
无编辑摘要
第67行: 第67行:
<pre>sudo apt-get install gcc-go</pre>
<pre>sudo apt-get install gcc-go</pre>
如果用源代码编译的话,请参照gcc编译。这里就不介绍了!
如果用源代码编译的话,请参照gcc编译。这里就不介绍了!
==Hello world==
*新建一个hello.go,并写入以下内容:
<pre>
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
</pre>
*使用golang官网编译器,这里是以64位计算机为例!如果你的是32位计算机,请使用8g,8l命令。
<pre>
$ 6g hello.go
$ 6l hello.6
$ ./6.out
hello, world
</pre>
*使用gccgo编译
<pre>
$ gccgo hello.go
$./a.out
hello,world
</pre>

2011年12月29日 (四) 13:03的版本

golang的简介

Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

golang编译环境的配置

golang目前有两种编译,一个是golang官方提供的,另一个是gnu提供的gccgo;

golang官方编译器安装与配置

  • 安装gcc工具,因为golang有些功能是使用c写的,所以构建golang的编译是必须的
$ sudo apt-get install bison gawk gcc libc6-dev make
  • 安装mercurial工具,目的使用hg命令来提取golang的源代码
$ sudo apt-get install mercurial
  • 代取提取,如果您的网速比较慢的话,此步要多花点时间
$ hg clone -u release https://go.googlecode.com/hg/ go
  • 编译golang
$ cd go/src
$ ./all.bash

假如正常的话,会出现下面的信息

ALL TESTS PASSED

---
Installed Go for linux/amd64 in /home/you/go.
Installed commands in /home/you/go/bin.
*** You need to add /home/you/go/bin to your $PATH. ***
The compiler is 6g.

*配置系统环境 你在~/.bashrc或者 ~/.profile写入你的配置文件,下面我会以.bashrc来说明; 那么,golang要设置那些变量呢? 1、$GOROOT golang的目录,这里我们是~/go 2、$GOOS 和 $GOARCH 系统的参数 设置方法如下:

	$GOOS 	$GOARCH 	
	darwin 	386
	darwin 	amd64
	freebsd 	386
	freebsd 	amd64
	linux 	386
	linux 	amd64
	linux 	arm 	incomplete
	windows 	386 	incomplete

3、$GOBIN golang的bin目录,这里是~/go/bin 下面是一个配置例子:请大家特别注意$GOOS 和 $GOARCH 的配置

$ gedit ~/.bashrc

然后加入

export GOROOT=~/go
export GOARCH=386
export GOOS=linux
epxort GOBIN=GOROOT/bin
export PATH=$PATH:$GOBIN

gccgo安装 gccgo似乎是从4.6开始支持的。也就是说,要在ubuntu用命令安装gccgo只有ubuntu 11.10包括且以上的版本。

大家可以试一下命令

gcc -v

,查看

--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin 

如果有一个go,说明你的gcc支持golang,那么就执行以下命令安装gcc-go(大家试一下这命令,我不敢确定):

sudo apt-get install gcc-go

如果用源代码编译的话,请参照gcc编译。这里就不介绍了!

Hello world

  • 新建一个hello.go,并写入以下内容:

package main

import "fmt"

func main() {
	fmt.Printf("hello, world\n")
}
  • 使用golang官网编译器,这里是以64位计算机为例!如果你的是32位计算机,请使用8g,8l命令。
$ 6g hello.go
$ 6l hello.6
$ ./6.out
hello, world
  • 使用gccgo编译
$ gccgo hello.go
$./a.out
hello,world