澳门皇冠金沙网站▎在线官网
做最好的网站

【澳门皇冠金沙网站,在线官网】Go语言环境搭建

2019-10-03 作者:网络服务   |   浏览(106)

Go是由Google创建的现代开源编程语言。 Go中编写了许多流行的应用程序,包括Kubernetes,Docker和Grafana。

申金鑫  17101223365

本教程将指导您完成在Ubuntu 18.04机器上下载和安装Go的步骤。

转载自公众号flysnow_org

先决条件

【嵌牛导读】:本文介绍了各种系统下的Go语言环境的搭建

在继续本教程之前,请确保您以具有sudo权限的用户身份登录。

【嵌牛鼻子】:Go语言

如何安装Go

【嵌牛提问】:如何搭建Go语言环境

在撰写本文时,Go的最新稳定版本是版本1.10.3。 在下载源码包之前,请访问官方Go下载页面并检查是否有新版本可用。

【嵌牛正文】:

下载源码包。

最近写了很多Go语言的原创文章,其中Go语言实战系列30篇,近15W字,还有最近更新的Go经典库系列,不过通过大家的咨询来看,还是想要一些入门的知识,这一篇文章写于2017年初,这里再更新一下,发给大家。

要下载Go二进制文件,您可以使用wget或curl:

有读者来信(微信公众号消息)说能不能写一篇关于Go语言环境的配置搭建,这样对于想学Go语言的可以快速的配置起来一个环境。这个的确是我忽略了,按照我写书的逻辑,也是先有环境搭建,才能有语言功能介绍,这个直接把Go语言的开发环境搭建等配置跳过去实在不应该,所以这篇特意针对Go语言的开发环境搭建、配置、编辑器选型、不同平台程序生成等做了详细的介绍。

wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

下载

验证源码包。

要搭建Go语言开发环境,我们第一步要下载go的开发工具包,目前最新稳定版本是v1.9,Go1.9增加了一些新特性,我这里有一篇讲 Go语言 | Go 1.9 新特性 Type Alias详解 的,大家可以参考。Go为我们所熟知的所有平台架构提供了开发工具包,比如我们熟知的Linux、Mac和Windows,其他的还有FreeBSD等。

要验证和校验源码包,可以使用sha256sum命令:

我们可以根据自己的机器操作系统选择相应的开发工具包,比如你的是Windows 64位的,就选择windows-amd64的工具包;是Linux 32位的就选择linux-386的工具包。可以自己查看下自己的操作系统,然后选择,Mac的现在都是64位的,直接选择就可以了。

sha256sum go1.10.3.linux-amd64.tar.gz
fa1b0e45d3b647c252f51f5e1204aba049cde4af177ef9f2181f43004f901035  go1.10.3.linux-amd64.tar.gz

开发工具包又分为安装版和压缩版。安装版是Mac和Windows特有的,他们的名字类似于:

确保从上面的命令打印的散列与下载页面中的散列匹配。

go1.9.darwin-amd64.pkg

提取源码包。

go1.9.windows-386.msi

使用tar将源码包提取到/usr/local目录中:

go1.9.windows-amd64.msi

sudo tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz

安装版,顾名思义,双击打开会出现安装向导,让你选择安装的路径,帮你设置好环境比安康等信息,比较省事方便一些。

调整路径变量。

压缩版的就是一个压缩文件,可以解压得到里面的内容,他们的名字类似于:

为了让我们的系统知道在哪里可以找到Go可执行文件,我们需要调整PATH环境变量。 我们可以通过将以下行添加到/etc/profile文件(用于系统范围的安装)或$HOME/.profile文件(用于当前用户安装)来完成此操作:

go1.9.darwin-amd64.tar.gz

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

go1.9.linux-386.tar.gz

保存该文件,并将新的PATH环境变量加载到当前shell会话中:

go1.9.linux-amd64.tar.gz

source ~/profile

go1.9.windows-386.zip

测试安装

go1.9.windows-amd64.zip

为了测试Go是否在我们的机器上正确安装,我们将建立一个工作空间并构建一个简单的“Hello world”程序。

压缩版我们下载后需要解压,然后自己移动到要存放的路径下,并且配置环境变量等信息,相比安装版来说,比较复杂一些,手动配置的比较多。

创建工作空间目录

根据自己的操作系统选择后,就可以下载开发工具包了,Go语言的官方下载地址是 https://golang.org/dl/ 可以打开选择版本下载,如果该页面打不开,或者打开了下载不了,可以使用镜像网站 http://mirrors.flysnow.org/ ,打开后搜索或者找到Golang,选择相应的版本下载,这个镜像网站会同步更新官方版本,基本上都是最新版,可以放心使用。

默认情况下,工作区目录设置为$ HOME / go,创建它为:

Linux下安装

mkdir ~/go

我们以Ubuntu 64位为例进行演示,CentOS等其他Linux发行版大同小异。

创建一个简单的“Hello World”Go文件。

下载go1.9.linux-amd64.tar.gz后,进行解压,你可以采用自带的解压软件解压,如果没有可以在终端行使用tar命令行工具解压,我们这里选择的安装目录是/usr/local/go,可以使用如下命令:

在工作区内创建一个新的目录src/hello

tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz

mkdir -p 澳门皇冠金沙网站,在线官网,~/go/src/hello

如果提示没有权限,在最前面加上sudo以root用户的身份运行。运行后,在/usr/local/下就可以看到go目录了。如果是自己用软件解压的,可以拷贝到/usr/local/go下,但是要保证你的go文件夹下是bin、src、doc等目录,不要go文件夹下又是一个go文件夹,这样就双重嵌套了。

并在该目录中创建一个名为hello.go的文件

然后就要配置环境变量了,Linux下又两个文件可以配置,其中/etc/profile是针对所有用户都有效的;$HOME/.profile是针对当前用户有效的,可以根据自己的情况选择。

~/go/src/hello/hello.go
package main

针对所有用户的需要重启电脑才可以生效;针对当前用户的,在终端里使用source命令加载这个$HOME/.profile即可生效。

import "fmt"

source ~/.profile

func main() {
    fmt.Printf("Hello, Worldn")
}

使用文本编辑器比如VIM编辑他们中的任意一个文件,在文件的末尾添加如下配置保存即可:

您可以在这里了解更多关于Go工作空间目录层次的信息

export GOROOT=/usr/local/go

构建hello.go文件:

export PATH=$PATH:$GOROOT/bin

要将文件切换到~/go/src/hello目录并运行go build:

其中GOROOT环境变量表示我们GO的安装目录,这样其他软件比如我们使用的Go开发IDE就可以自动的找到我们的Go安装目录,达到自动配置Go SDK的目的。

cd ~/go/src/hello
go build

第二句配置是把/usr/local/go/bin这个目录加入到环境变量PATH里,这样我可以在终端里直接输入go等常用命令使用了,而不用再加上/usr/local/go/bin这一串绝对路径,更简洁方便。

上面的命令将构建一个名为hello的可执行文件。

以上配置好之后,我们打开终端,属于如下命令,就可以看到go的版本等信息了。

运行可执行文件:

➜  ~ go version

你可以通过简单地执行下面的命令来运行可执行文件:

go version go1.9 linux/amd64

./hello
hello, world

这就说明我们已经安装go成功了,如果提示go这个命令找不到,说明我们配置还不对,主要在PATH这个环境变量,仔细检查,直到可以正常输出为止。

如果你看到上面的输出,那么你已经成功安装了Go。

Mac下安装

结论

Mac分为压缩版和安装版,他们都是64位的。压缩版和Linux的大同小异,因为Mac和Linux都是基于Unix,终端这一块基本上是相同的。

现在您已经下载并安装了Go your Ubuntu系统,您可以开始开发Go项目。

压缩版解压后,就可以和Linux一样放到一个目录下,这里也以/usr/local/go/为例。在配置环境变量的时候,针对所有用户和Linux是一样的,都是/etc/profile这个文件;针对当前用户,Mac下是$HOME/.bash_profile,其他配置都一样,包括编辑sudo权限和生效方式,最后在终端里测试:

如果您遇到问题或有任何反馈,请在下面留言。

➜  ~ go version

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

go version go1.9 darwin/amd64

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-06/152879.htm

Mac安装版下载后双击可以看到安装界面,按照提示一步步选择操作即可。安装版默认安装目录是/usr/local/go,并且也会自动的把/usr/local/go/bin目录加入到PATH环境变量中,重新打开一个终端,就可以使用go version进行测试了,更快捷方便一些。

澳门皇冠金沙网站,在线官网 1

Windows下安装

Windows也有压缩版和安装版,又分为32和64位以供选择,不过目前大家都是64位,选择这个更好一些。

Window的压缩版是一个ZIP压缩包,下载后使用winrar等软件就可以解压,解压后要选择一个存放目录,比如c:Go下,这个c:Go就是Go的安装目录了,他里面有bin、src、doc等目录。

然后就是环境变量的配置,Window也和Linux一样分为针对所有用户的系统变量,和针对当前用户的用户变量设置,可以自行选择,比如系统变量,针对所有用户都有效。

以Window 7为例,右击我的电脑->属性会打开系统控制面板,然后在左侧找到高级系统设置点击打开,会在弹出的界面最下方看到环境变量按钮,点击它,就可以看到环境变量配置界面了。上半部分是用户变量配置,下半部分是系统变量配置。

我们在系统变量里点击新建,变量名输入GOROOT,变量值是我们刚刚安装的go路径c:Go,这样就配置好了GO目录的安装路径了。

然后修改PATH系统变量,在变量值里添加%%GOROOTbin路径,和其他PATH变量以;(分号,Linux下是冒号)分割即可。这样我们就可以在CMD里直接输入go命令使用了。

打开我们的终端,输入go version测试下,好了的话就可以看到输出的信息了。

Window的安装版相比来说就比较简单一些,双击就可以按照提示一步步安装,默认安装路径是c:Go,并且会配置好PATH环境变量,可以直接打开CMD终端使用。

设置工作目录

工作目录就是我们用来存放开发的源代码的地方,对应的也是Go里的GOPATH这个环境变量。这个环境变量指定之后,我们编译源代码等生成的文件都会放到这个目录下,GOPATH环境变量的配置参考上面的安装Go,配置到/etc/profile或者Windows下的系统变量里。

这个工作目录我们可以根据自己的设置指定,比如我的Mac在$HOME/code/go下,Window的可以放到d:codego下等。该目录下有3个子目录,他们分别是:

.

├── bin

├── pkg

└── src

bin文件夹存放go install命名生成的可执行文件,可以把$GOPATH/bin路径加入到PATH环境变量里,就和我们上面配置的$GOROOT/bin一样,这样就可以直接在终端里使用我们go开发生成的程序了。

pkg文件夹是存在go编译生成的文件。

src存放的是我们的go源代码,不同工程项目的代码以包名区分。

go项目工程结构

配置好工作目录后,就可以编码开发了,在这之前,我们看下go的通用项目结构,这里的结构主要是源代码相应地资源文件存放目录结构。

我们知道源代码都是存放在GOPATH的src目录下,那么多个多个项目的时候,怎么区分呢?答案是通过包,使用包来组织我们的项目目录结构。有过java开发的都知道,使用包进行组织代码,包以网站域名开头就不会有重复,比如我的个人网站是flysnow.org,我就可以以·flysnow.org·的名字创建一个文件夹,我自己的go项目都放在这个文件夹里,这样就不会和其他人的项目冲突,包名也是唯一的。

如果没有个人域名,现在流行的做法是使用你个人的github.com,因为每个人的是唯一的,所以也不会有重复。

src

├── flysnow.org

├── github.com

├── golang.org

├── gopkg.in

├── qiniupkg.com

└── sourcegraph.com

如上,src目录下跟着一个个域名命名的文件夹。再以github.com文件夹为例,它里面又是以github用户名命名的文件夹,用于存储属于这个github用户编写的go源代码。

src/github.com/spf13

├── afero

├── cast

├── cobra

├── fsync

├── hugo

├── jwalterweatherman

├── nitro

├── pflag

└── viper

那么我们如何引用一个包呢,也就是go里面的import。其实非常简单,通过包路径,包路径就是从src目录开始,逐级文件夹的名字用/连起来就是我们需要的包名,比如:

import (

"github.com/spf13/hugo/commands"

)

Hello World

本文由澳门皇冠金沙网站发布于网络服务,转载请注明出处:【澳门皇冠金沙网站,在线官网】Go语言环境搭建

关键词: