安装Go语言及搭建Go语言开发环境

一步一步,从零搭建Go语言开发环境。linux

安装Go语言及搭建Go语言开发环境

undefined

下载

下载地址

Go官网下载地址:https://golang.org/dl/git

Go官方镜像站(推荐):https://golang.google.cn/dl/github

版本的选择

Windows平台和Mac平台推荐下载可执行文件版,Linux平台下载压缩文件版。golang

undefined

安装

Windows安装

此安装实例以 64位Win10系统安装 Go1.11.5可执行文件版本为例。sql

将上一步选好的安装包下载到本地。windows

undefined

双击下载好的文件一直Next缓存

undefined

undefined

Linux下安装

咱们在版本选择页面选择并下载好go1.11.5.linux-amd64.tar.gz文件:bash

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

将下载好的文件解压到/usr/local目录下:架构

mkdir -p /usr/local/go  # 建立目录
tar -C /usr/lcoal/go zxvf go1.11.5.linux-amd64.tar.gz. # 解压

若是提示没有权限,加上sudo以root用户的身份再运行。执行完就能够在/usr/local/下看到go目录了。编辑器

配置环境变量: Linux下有两个文件能够配置环境变量,其中/etc/profile是对全部用户生效的;$HOME/.profile是对当前用户生效的,根据本身的状况自行选择一个文件打开,添加以下两行代码,保存退出。

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

修改/etc/profile后要重启生效,修改$HOME/.profile后使用source命令加载$HOME/.profile文件便可生效。 检查:

~ go version
go version go1.11.5 linux/amd64

Mac下安装

下载可执行文件版,直接点击下一步安装便可,默认会将go安装到/usr/local/go目录下。

undefined

检查

上一步安装过程执行完毕后,能够打开终端窗口,输入go version命令,查看安装的Go版本。

配置GOPATH

GOPATH是一个环境变量,用来代表你写的go项目的存放路径(工做目录)。

GOPATH路径最好只设置一个,全部的项目代码都放到GOPATHsrc目录下。

补充说明:Go1.11版本以后,开启go mod模式以后就再也不强制须要配置GOPATH了。

Linux和Mac平台就参照上面配置环境变量的方式将本身的工做目录添加到环境变量中便可。 Windows平台按下面的步骤将D:\code\go添加到环境变量:

undefined

undefined

1550294111480

image.png

undefined

在 Go 1.8 版本以前,GOPATH环境变量默认是空的。从 Go 1.8 版本开始,Go 开发包在安装完成后会为 GOPATH设置一个默认目录,参见下表。

GOPATH在不一样操做系统平台上的默认值

平台 GOPATH默认值 举例
Windows %USERPROFILE%/go C:\Users\用户名\go
Unix $HOME/go /home/用户名/go

同时,咱们将 GOROOT下的bin目录及GOPATH下的bin目录都添加到环境变量中。

配置环境变量以后须要重启终端(cmd、VS Code里面的终端和其余编辑器的终端)。

Go项目结构

在进行Go语言开发的时候,咱们的代码老是会保存在$GOPATH/src目录下。在工程通过go buildgo installgo get等指令后,会将下载的第三方包源代码文件放在$GOPATH/src目录下, 产生的二进制可执行文件放在 $GOPATH/bin目录下,生成的中间缓存文件会被保存在 $GOPATH/pkg 下。

若是咱们使用版本管理工具(Version Control System,VCS。经常使用如Git)来管理咱们的项目代码时,咱们只须要添加$GOPATH/src目录的源代码便可。binpkg 目录的内容无需版本控制。

适合我的开发者

咱们知道源代码都是存放在GOPATHsrc目录下,那咱们能够按照下图来组织咱们的代码。

undefined

目前流行的项目结构

Go语言中也是经过包来组织代码文件,咱们能够引用别人的包也能够发布本身的包,可是为了防止不一样包的项目名冲突,咱们一般使用顶级域名来做为包名的前缀,这样就不担忧项目名冲突的问题了。

由于不是每一个我的开发者都拥有本身的顶级域名,因此目前流行的方式是使用我的的github用户名来区分不一样的包。

undefined

举个例子:张三和李四都有一个名叫studygo的项目,那么这两个包的路径就会是:

import "github.com/zhangsan/studygo"

import "github.com/lisi/studygo"

之后咱们从github上下载别人包的时候,如:

go get github.com/jmoiron/sqlx

那么,这个包会下载到咱们本地GOPATH目录下的src/github.com/jmoiron/sqlx

适合企业开发者

undefined

Go开发编辑器

Go采用的是UTF-8编码的文本文件存放源代码,理论上使用任何一款文本编辑器均可以作Go语言开发,这里推荐使用VS CodeGolandVS Code是微软开源的编辑器,而Golandjetbrains出品的付费IDE

咱们这里使用VS Code 加插件作为go语言的开发工具。

VS Code介绍

VS Code全称Visual Studio Code,是微软公司开源的一款免费现代化轻量级代码编辑器,支持几乎全部主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片断、代码对比DiffGIT等特性,支持插件扩展,支持 Win、Mac 以及 Linux平台。

虽然不如某些IDE功能强大,可是它添加Go扩展插件后已经足够胜任咱们平常的Go开发。

下载与安装

VS Code官方下载地址:https://code.visualstudio.com/Download

三大主流平台都支持,请根据本身的电脑平台选择对应的安装包。

undefined

双击下载好的安装文件,双击安装便可。

配置

安装中文简体插件

点击左侧菜单栏最后一项管理扩展,在搜索框中输入chinese ,选中结果列表第一项,点击install安装。

安装完毕后右下角会提示重启VS Code,重启以后你的VS Code就显示中文啦!

undefined

VSCode主界面介绍:

undefined

安装go扩展

如今咱们要为咱们的VS Code编辑器安装Go扩展插件,让它支持Go语言开发。

undefined

第一个Go程序

Hello World

如今咱们来建立第一个Go项目 ——hello。在咱们的GOPATH下的src目录中建立hello目录。

在该目录中建立一个main.go文件:

package main  // 声明 main 包,代表当前是一个可执行程序

import "fmt"  // 导入内置 fmt 包

func main(){  // main函数,是程序执行的入口
    fmt.Println("Hello World!")  // 在终端打印 Hello World!
}

go build

go build表示将源代码编译成可执行文件。

在hello目录下执行:

go build

或者在其余目录执行如下命令:

go build hello

go编译器会去 GOPATH的src目录下查找你要编译的hello项目

编译获得的可执行文件会保存在执行编译命令的当前目录下,若是是windows平台会在当前目录下找到hello.exe可执行文件。

可在终端直接执行该hello.exe文件:

d:\code\go\src\hello>hello.exe
Hello World!

咱们还可使用-o参数来指定编译后可执行文件的名字。

go build -o heiheihei.exe

go install

go install表示安装的意思,它先编译源代码获得可执行文件,而后将可执行文件移动到GOPATH的bin目录下。由于咱们的环境变量中配置了GOPATH下的bin目录,因此咱们就能够在任意地方直接执行可执行文件了。

跨平台编译

默认咱们go build的可执行文件都是当前操做系统可执行的文件,若是我想在windows下编译一个linux下可执行文件,那须要怎么作呢?

只须要指定目标操做系统的平台和处理器架构便可:

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux  // 目标平台是linux
SET GOARCH=amd64  // 目标处理器架构是amd64

而后再执行go build命令,获得的就是可以在Linux平台运行的可执行文件了。

Mac 下编译 Linux 和 Windows平台 64位 可执行程序:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Linux 下编译 Mac 和 Windows 平台64位可执行程序:

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Windows下编译Mac平台64位可执行程序:

SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build

如今,开启你的Go语言学习之旅吧。人生苦短,let’s Go.

相关文章
相关标签/搜索