34

1_从零开始搭建Go语言开发环境

 4 years ago
source link: https://www.tuicool.com/articles/2qeUFv3
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

--本笔记学习同步于老男孩教育学习视频,如有侵权,即可联系作者删除--

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

  1. 下载地址
    1.1 Go官网下载地址: https://studygolang.com/dl
    1.2 Go官方镜像站(推荐): https://golang.google.cn/dl/
  2. 版本的选择

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

    c9e04337f7218fc5976b736dbf7f177c.png

    image.png

  3. 安装

    3.1 Windows安装

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

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

    11e16fffaf657088171c997d82984994.png

    image.png

双击下载好的文件

47a5393f480a2887496db1e00c516c65.png

image.png

82e9500664656ef7656f2da4442be944.png

image.png

716d1bc5f63f4b7b89d3c037b88d4184.png

image.png

3.2 Linux下安装

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

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后要重启生效,修改 00fd1ed1c17ec98139633b725c5fed9d.profile%E5%90%8E%E4%BD%BF%E7%94%A8source%E5%91%BD%E4%BB%A4%E5%8A%A0%E8%BD%BD

HOME/.profile文件即可生效。

检查:

~ go version
go version go1.11.5 linux/amd64
  1. 配置GOPATH

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

    GOPATH路径最好只设置一个,所有的项目代码都放到GOPATH的src目录下。

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

    1f2b96bee5bdd782b6d50f75de702064.png

    image.png

    60d91eaab4646d64983b8c5c52fcb459.png

    image.png

    66f171c205a38f483917755309b1f90d.png

    image.png

    023aac62ab61860fb590e0b20f3bb415.png

    image.png

    5a9e8d54473b9a41df7ddd4133defccc.png

    image.png

    ae8a56908f5a4bb6cb362ad76f9bfd13.png

    image.png

    b5a528e4f01bfc6fa79daff4abaa5fbf.png

    image.png

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

    05e5f5df96f457cb5ee435887cbc3ec2.png

    image.png

  2. Go项目结构

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

    如果我们使用版本管理工具(Version Control System,VCS。常用如Git)来管理我们的项目代码时,我们只需要添加GOPATH/src目录的源代码即可。bin 和 pkg 目录的内容无需版本控制。

    5.1 适合个人开发者

    我们知道源代码都是存放在GOPATH的src目录下,那我们可以按照下图来组织我们的代码

    6e4f5e08fec24fc17f83b71627a95853.png

    image.png

    5.2 目前流行的项目结构

    Go语言中也是通过包来组织代码文件,我们可以引用别人的包也可以发布自己的包,但是为了防止不同包的项目名冲突,我们通常使用顶级域名来作为包名的前缀,这样就不担心项目名冲突的问题了。

    因为不是每个个人开发者都拥有自己的顶级域名,所以目前流行的方式是使用个人的github用户名来区分不同的包。

    856d34111b4921a6fc51dd156c10771d.png

    image.png

5.3 适合企业开发者

d1922d8953a5d6bba0d820c584fd9104.png

image.png

  1. Go开发编辑器

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

  2. 第一个Go程序

    7.1 Hello World

    现在我们来创建第一个Go项目——hello。在我们的GOPATH下的src目录中创建hello目录。

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

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

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

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

7.2 go build

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

在hello目录下用终端(cmd)执行:

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

7.3 go install

go install表示安装的意思,它先编译源代码得到可执行文件,然后将可执行文件移动到GOPATH的bin目录下。因为我们的环境变量中配置了GOPATH下的bin目录,所以我们就可以在任意地方直接执行可执行文件了。

  1. 跨平台编译

    默认我们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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK