go【第一篇】go环境搭建

说明

该系列文章基于Go 1.12版本

go安装

Go下载地址

https://golang.google.cn/dl/

Windows安装Go

本人是win64,因此选择64msi版本

选择安装目录

可以看到go1.12安装后,go安装目录自动添加到系统环境变量

GOPATH

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

默认GOPATH=/home/user/go,windows在

 

这里设置到自定义目录

打开cmd,看设置是否生效

 

$GOPATH目录约定有三个子目录,如果是自定义GOPATH需要手动创建这三个目录

src存放源码文件
pkg编译时生成的归档文件
bin编译后生成的可执行文件

Linuxs安装Go

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

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

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

mkdir -p /usr/local/go  # 创建目录
tar zxvf go1.12.7.linux-amd64.tar.gz -C /usr/local/go 

如果提示没有权限,加上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项目结构

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

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

适合个人开发者

目前流行的项目结构

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

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

 

第一个Go程序

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

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

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

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

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

Vscode运行Go

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

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

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

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

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

安装中文简体插件

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

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

安装go扩展

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

这里不会编译Go程序,而是像运行脚本一样去运行Go程序,一般本地调试为了方便直接运行

运行Go的几种方式:

GoLand运行Go

GoLang比VSCode好用

Goland激活(亲测可用): https://blog.csdn.net/hi_liuxiansheng/article/details/89078405

把工具栏显示出来(方便经常改设置)

 

 点击工具按钮

 

 

 直接运行

编译运行

 

go build

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

在day1目录下执行:

go build

或者在其他目录执行以下命令:

go build day1

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

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

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

e:\Work\Code\Go\src\step1\day1>day1.exe
Hello World!

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

go build -o main.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

跨平台编译后,为了继续再本地编译,需要设置

SET GOOS=windows

然后再执行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

  

posted @ 2017-12-21 19:14  沐风先生  阅读(390)  评论(0编辑  收藏  举报