如何在树莓派上从源代码构建Golang

自打一开始,Google的Go编程语言就支持多种操作系统以及处理器架构。比如说Windows、Mac OS X、Linux、FreeBSD上的x86 32位及64位CPU。一直以来Golang项目也都支持ARM芯片,从ARMv5、ARMv6以及ARMv7系统架构。树莓派采用的是博通公司的基于ARMv6的架构,而树莓派能完美运行Linux和FreeBSD,因此在树莓派上也可以用Go语言来编程。本文就是指导你如何在树莓派上从源代码来构建Go语言。

Google暂时还没有为树莓派提供预构建好的Golang二进制包。尽管在写作本文时已经有一个针对Raspbian系统的Golang包了,但版本较老。因此如果目前想在树莓派上安装Golang的话,最好的方式就是从源代码开始构建。这听起来有点吓人但其实真的非常简单。

第一步是安装Mercurial,这是Google用来管理Go源代码的版本控制系统。

sudo apt-get install -y mercurial

对于Mercurial系统来说,其主要的命令行接口是hg,有了这个你就能下载Golang的源代码。下面的命令将把构建Golang所必须的源代码下载到/usr/local/go目录中去:

sudo hg clone -u default https://code.google.com/p/go /usr/local/go

这一过程大约需要10分钟,取决于你的网速有多快了。一旦下载完成,你就可以开始构建的过程了。用cd命令将当前目录修改为/usr/local/go/src,然后开始构建过程:

sudo ./all.bash

构建过程中会在终端上输出很多内容,大部分都是一些信息提示。整个构建过程大概需要90分钟到2小时。

构建进程会提示我们将Go的二进制包所在的目录添加到系统PATH中去。要做到这一点你需要编辑.profile文件,每次你创建一个新的shell会话时,Bash都会处理这个文件。用cd命令将你的当前目录切换回home,使用nano编辑器编辑.profile文件:

nano .profile

在文件最底部,添加如下这行:

export PATH=$PATH:/usr/local/go/bin

键入CTRL + X来退出nano编辑器,然后输入Y来确定编辑过的文件已保存。按下ENTER键来保持当前文件名不变。

你需要退出当前的终端然后重新开启另一个(如果你用的是桌面环境),或者也可以登出再登入(如果你用的是纯命令行界面)。

要验证Go是否安装正确,可以创建一个名为hello.go的文件,然后写下如下代码(著名的hello world又来了):

package main import “fmt” func main() { fmt.Printf(“Hello Make Tech Easier!

“) }

要运行它,请在终端上输入:

go run hello.go

程序的输出结果是一行文本:Hello Make Tech Easier!

开始尝试用Go编程

Go是一门非常强大的编程语言,其设计本意是为了能编写同时处理多个任务的程序,这称为并发(concurrency)。你可以编写程序来同时执行许多任务,而且还能让这些彼此分离的任务互相通信和交互。

请查阅这篇Writing Your First Concurrent Go Program(编写第一个并发的Go程序),试着运行文中的代码示例,看看为并发而生的编程语言在多任务操作系统上所表现出的强大威力吧。这一切都可以运行在你的树莓派上哦!