Go语言学习札记—— 第二章 Go编程环境(1)
来源:互联网 发布:女生 老司机 知乎 编辑:程序博客网 时间:2024/06/10 23:35
第二章 Go编程环境
Go是一个开源项目,采用BSD授权协议。目前有两种方式使用Go语言。这里主要讲述如何使用Go专用的gc
系列工具(6g
、8g
等)。另一个可选的编译器是是基于gcc后端的 gccgo
编译器。关于gccgo
的细节清参考 安装并使用gccgo编译器。Go现在还没有IDE开发工具,编写代码只能用记事本、Vi、Emacs等文本编辑器。
2.1 Go的安装
2.1.1 Go运行平台
Go目前支持两种操作系统三种类型CPU指令集。其中Linux和Mac平台可以通用,但是ARM目标代码还不能运行在OS X系统上。
下面是针对不同CPU指令集,编译后目标代码的差异:
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
还有一些问题,还在完善中。重要针对QEMU和android手机环境测试。
所有的平台,出了关于操作系统借口部分有一些差异外,Go的运行库支持都是一样的。包含基于 mark-and-sweep算法()的垃圾内存回收支持,高效的数组、字符串以及切片,还有独立的堆栈支持和goroutine的实现等。
当前已有爱好者将其移植到Windows平台下,如果想在Window平台下运行Go,可以从http://code.google.com/p/gomingw/网站下载到二进制发布版本。
2.1.2 下载Go
Go使用Mercurial版本管理系统,管理代码的。如果你没有Mercurial,可以从Mercurial官网(http://mercurial.selenic.com/)下载。
Linux 平台下用以下命令安装:
$ sudo easy_install mercurial
Window平台下可以用Tortoisehg。
确保GOROOT
不存在或者是空目录。然后从仓库检出代码:
$ hg clone -r release https://go.googlecode.com/hg/ GOROOT
2.1.3 设置环境变量
Go编译器需要三个必须的环境变量和一个可选的环境变量。环境变量在.bashrc
或其他配置文件中设置。
$GOROOT
Go安装包的根目录。通常是放在$HOME/go
,当然也可以是其他位置。
$GOOS
and 和 $GOARCH
这两个环境变量表示目标代码的操作系统和CPU类型。$GOOS选项有linux、freebsd、darwin (Mac OS X 10.5 or 10.6)和 nacl (Chrome的Native Client接口,还未完成)。$GOARCH的 选项有amd64(64-bit x86,目前最成熟)、386 (32-bitx86)、 和arm (32-bit ARM,还未完成)。下面是$GOOS和 $GOARCH的可能组合:
$GOOS
$GOARCH
darwin
386
darwin
amd64
freebsd
386
freebsd
amd64
linux
386
linux
amd64
linux
arm
nacl
386
$GOBIN
(optional) (可选)
指明用于存放go的二进制程序目录。如果是没设置$GOBIN
环境变量, 则默认是安装在$HOME/bin
。如果设置了该变量,需要确保$PATH
变量也包含这个路径,这样编译器可以找到正确的执行文件。
需要说明的是$GOARCH
和$GOOS
环境变量表示的是目标代码运行环境,和当前使用的平台是无关的。这个对于交叉编译是很方便的。
在.bashrc
文件中设置以下环境变量:
export GOROOT=$HOME/go
export GOARCH=amd64
export GOOS=linux
用以下命令再检测一次环境变量。
$ env | grep '^GO'
Window平台下环境变量设置
GOROOT=C:/go
GOARCH=386
GOOS=windows
GOBIN=%GOROOT%/bin
PATH=%PATH%;%GOBIN%/;
注: Gomingw 2010-05-04前的版本GOOS变量应设置为mingw
2.1.4 安装
Go的工具链采用C语言编写。因此要编译Go工具,需要现安装GCC、C标准库、Bison分析器、以及make、awk和ed等开发工具。对于OS X系统,它们可以作为Xcode的插件。对于Linux系统,可以用以下命令安装:
$ sudo apt-get install bison gcc libc6-dev ed gawk make
(如果是其他Linux版本,可以用类似命令安装)。
运行以下命令,构建Go:
$ cd $GOROOT/src
$ ./all.bash
编译完成后,结尾会打印以下信息。
--- cd ../test
N known bugs; 0 unexpected bugs
Windows平台下,可以从Gomingw网站(http://code.google.com/p/gomingw/)下载二进制,解压到指定目录,并设定好环境变量,即可运行。
- Go语言学习札记—— 第二章 Go编程环境(1)
- Go语言学习札记—— 第二章 Go编程环境(2)
- Go语言学习札记——第一章 Go语言概述
- Go语言学习札记——第三章 Go基本的程序设计结构(1)
- 第二章 Go 编程环境
- Go编程基础—windows下Go语言开发环境搭建
- Go语言学习1:开发环境安装
- Go语言学习1----开发环境搭建
- go语言学习笔记(1) 环境搭建
- Go语言学习笔记一——环境搭建
- go语言学习---环境搭设
- Go语言学习环境搭建
- go语言学习 1-初识go语言
- 编程语言明日之星——go语言
- 为什么学习go语言编程?
- go语言学习-并发编程
- Go语言概览——《Java程序员学习Go》之一
- go语言学习------Go 记录日志——log包
- 【转】2008-03-27 | 关于Vs 2005 中出现编译通过,但运行时出现“未使用调试信息生成二进制文件”的问题(很好很强大)
- INT64拆分成DWROD
- 出现太多的问题,需要反思。
- learn objective-c on the mac
- 字符,字节和编码
- Go语言学习札记—— 第二章 Go编程环境(1)
- firefox 打开新标签 但不跳转到新标签
- Symbian 活动对象框架
- dategrid列宽度自动适应函数
- Java第一天
- 发现一个不错的写作方法
- 欢迎访问我的个人博客
- Android下获取手机屏幕大小
- ftplib 示例