Raspberry Pi 树莓派编写go语言的hello world!

安装Go语言环境

使用apt-get安装

使用apt-get安装golang是最方便的了:

sudo apt-get install golang -y

因为它会自动选择适合树莓派的版本。输入命令:

注意:-y 表示假定对所有的询问选是,不提示。

img

安装完成,我们需要验证是否安装成功,输入命令:

go version

如下图,可以看到安装go语言的版本是1.7.4 linux/386,

img

安装成功!(因为我是在虚拟机的树莓派安装的,所以版本也许会与你安装的有点不一样)

使用预编译文件安装

首先,去https://golang.org/dl/复制对应版本的Golang下载地址,例如输入:

wget https://dl.google.com/go/go1.12.1.linux-armv6l.tar.gz

解压缩预编译文件到/usr/local

tar -C /usr/local -xzf go1.7.3.linux-armv6l.tar.gz

配置环境变量的Go编译目录

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

使用go version验证是否安装成功

go version

安装成功的话,会返回当前Golang的版本号。

建立Go工程目录

在编写Go程序之前,需要建立好工程目录。

Go的是规定了目录结构的,一般如下:

  • projectName # 项目名称
    • /bin #bin存放编译后的可执行文件
    • /pkg #pkg存放编译后的包文件
    • /src #src存放项目源文件

在本例子中,我的项目名称是「projects」,然后在其文件夹里新建bin,pkg,src文件夹,使用mkdir命令一行即可实现,输入命令:

mkdir ~/projects/{bin,pkg,src}

img

我们使用cd和ls命令,一层一层地看我们刚才建立的项目结构。

img

配置$PATH环境变量的Go编译目录

首先,我们需要知道Go安装在哪里,若果你是使用apt-get的方式安装,一般情况下是安装在 /usr/lib/ 目录里,在这个步骤,需要用到 /usr/lib/go/bin 这个Go的编译目录,请先记住。

img

输入以下命令,新建一个PATH的配置文件:

sudo nano /etc/profile.d/path.sh

img

需要用到刚才的Go编译目录,该文件编辑如下内容:

export PATH:$PATH:/usr/lib/go/bin

img

编辑后,保存退出编辑器。

我们检查一下刚才的配置文件,看看代码,输入命令:

cat /etc/profile.d/path.sh

可以看到输出刚才所编辑的内容,确认无误,继续下一步。

img

配置Go项目的环境变量

新建配置文件,输入命令:

sudo nano ~/.bash_profile

img

编辑内容如下:

export GOBIN="$HOME/projects/bin"
export GOPATH="$HOME/projects/src"
export GOROOT="/usr/lib/go"

这里的projecrs,是本文例子当中的项目目录名称。你需要根据你的项目名称作修改。

img

保存退出后,

使用cat命令,来检查一下刚才配置文件是否有误。

img

编写Go的Hello world程序

终于解决了环境的问题,现在就开始编写Hello world的程序了。

打开到projects项目目录,打开src文件夹,在当前目录新建一个hello.go的文件(Go语言的工程文件后缀是.go),输入:

sudo nano hello.go

img

添加如下代码:

package main

import "fmt"

func main(){
    fmt.Printf("Hello lingshunlab.com\n")
}

img

输入完成后,保存退出。

编译刚才的hello.go工程文件,输入命令:

go install $GOPATH/hello.go

img

此时,发生了错误,大概意思是找不到文件或者目录,导致这个错误原因是因为我们之前配置的环境变量还没生效。接下来就解决这个问题。

执行环境变量配置文件

输入以下命令,则可以把之前的两个环境变量的配置生效:

source /etc/profile.d/path.sh && source ~/.bash_profile

img

编译Go工程文件

编译hello.go的工程文件,输入:

go install $GOPATH/hello.go

img

执行Go的Hello world程序

编译完成后(没有任何提示的),输入以下命令就可以执行Go程序:

$GOBIN/hello

img

现在可以看到输出了「 Hello lingshunlab.com!」的信息。

恭喜你,Go程序 Hello world! Get!