介绍
Go 是谷歌开发的现代编程语言。 它对于许多应用和在许多公司越来越流行,并且提供了一组健壮的库。 本教程将引导您完成下载和安装Go 1.6,以及构建一个简单的Hello World应用程序。
先决条件
本教程假定您可以访问一个Ubuntu 16.04系统,与非root用户配置的sudo
特权中所述与Ubuntu 16.04初始服务器设置 。
第1步 - 安装Go
在这一步中,我们将在您的服务器上安装Go。
首先,通过连接到你的Ubuntu服务器ssh
:
ssh sammy@your_server_ip
访问官方下载转到页 ,找到URL当前二进制版本的压缩档,与它的SHA256哈希一起。 确保你在你的home目录里,并用curl
检索压缩包:
cd ~
curl -O https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.gz
接下来,你可以使用sha256sum
验证压缩包:
sha256sum go1.6.linux-amd64.tar.gz
Sample Outputgo1.6.linux-amd64.tar.gz
e40c36ae71756198478624ed1bb4ce17597b3c19d243f3f0899bb5740d56212a go1.6.linux-amd64.tar.gz
你会得到一个哈希像上面的输出中突出显示的哈希。 请确保它与下载页面中的匹配。
接下来,使用tar
提取包。 该x
标志告诉tar
提取, v
告诉它我们要详细输出(文件被提取的列表),并f
告诉它我们将指定一个文件名:
tar xvf go1.6.linux-amd64.tar.gz
你现在应该有一个名为go
在你的home目录中。 递归改go
的所有者和组为root,并将其移动到/usr/local
:
sudo chown -R root:root ./go
sudo mv go /usr/local
注意:虽然/usr/local/go
是官方推荐的位置,有些用户可能喜欢或需要不同的路径。
第2步 - 设置Go路径
在此步骤中,我们将在您的环境中设置一些路径。
首先,设置Go的根值,它告诉Go在哪里查找其文件。
sudo nano ~/.profile
在文件的末尾,添加以下行:
export GOPATH=$HOME/work
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
如果您为Go选择了备用安装位置,请将这些行替换为相同的文件。 此示例显示如果Go安装在主目录中的命令:
export GOROOT=$HOME/go
export GOPATH=$HOME/work
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
将适当的行粘贴到您的配置文件中,保存并关闭文件。 接下来,通过运行以下命令刷新您的个人资料:
source ~/.profile
第3步 - 测试您的安装
现在Go已安装并且为您的服务器设置了路径,您可以测试以确保Go正常工作。
为Go工作区创建一个新目录,这是Go将构建其文件的位置:
mkdir $HOME/work
然后,通过此命令在此文件夹中创建目录层次结构,以便创建测试文件。 如果你打算使用Git的承诺并存储在GitHub上的Go代码,您可以用您的用户名GitHub的替换值用户 。 如果你不打算使用的GitHub来存储和管理您的代码,您的文件夹结构可能是不同的东西,比如~/my_project
。
mkdir -p work/src/github.com/user/hello
接下来,你可以创建一个简单的“Hello World”Go文件。
nano ~/work/src/github.com/user/hello/hello.go
在编辑器中,粘贴以下代码,它使用主Go软件包,导入格式化的IO内容组件,并设置一个新函数在运行时打印“Hello,World”。
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
这个程序将打印“hello,world”,如果它成功运行,这将表明Go程序正在编译。 保存并关闭该文件,然后通过调用Go命令编译install
:
go install github.com/user/hello
随着文件编译,您可以通过简单地执行命令运行它:
hello
如果该命令返回“hello,world”,则Go已成功安装并正常运行。 你可以看到编译hello
二进制是通过使用安装which
命令:
which hello
Output/home/user/work/bin/hello
结论
通过下载和安装最新的Go软件包并设置其路径,您现在有一个系统用于Go开发。
接下来,你可以阅读从我们的开发团队的一些 Go 的技巧 ,以及如何使用Martini来承载您的项目 。