欢迎来到Golang的世界!在当今快节奏的软件开发领域,选择一种高效、简洁的编程语言至关重要。而在这方面,Golang(又称Go)无疑是一个备受瞩目的选择。在本文中,带领您探索Golang的世界,一步步地了解这门语言的基础知识和实用技巧。
目录
初识Golang
工具选择安装
环境安装与配置
语言编译特点
初识Golang
go语言由谷歌传奇大牛 肯·汤普逊 于2007年设计创建,他也是B和C语言的发明者,2012年发布了开源版本1.0版本,go语言的设计初衷就是简单高效,这也是我们常常说go而不是golang的原因,其源代码编译成机器代码,意味着通常优于解释性语言,因go极快的编译速度而出名。
尽管go是静态类型语言,但是其提供了执行类型的推断,来让语法更简洁和实用,此外其也具有包和模块系统,方便再项目开发期间导入导出代码,当然go还支持并行开发,能够指定哪些函数可以与其他函数同时运行,go语言的发展简史大致如下:
2007年,谷歌工程师RobPike,KenThompson和RobertGrisemer开始设计一门全新的语言,这是Go语言的最初原型。
2009年11月,Google将Go语言以开放源代码的方式向全球发布。
2015年8月,Go1.5版发布,本次更新中移除了"最后残余的c代码”
2017年2月,Go语言G01.8版发布。
2017年8月,Go语言Go1.9版发布。
2018年2月,Go语言Go1.10版发布。
2018年8月,Go语言Go1.11版发布。
2019年2月,Go语言Go1.12版发布。
2019年9月,Go语言Go1.13版发布。
2020年2月,Go语言Go1.14版发布。
2020年8月,Go语言Go1.15版发布。
一个go语言的应用程序,在运行的时候是不需要依赖外部库的,把执行时需要的所有库都打包到程序当中,所以go的程序比较大,如果import的包在程序中没有使用的话,程序是不允许编译的。
工具选择安装
开发go语言许多开发者工具都可以支持,如下:
1)visual studio code,Microsoft产品(简称VSCode):一个运行于Mac Os、Windows和Linux之上的,默认提供Go语言的语法高亮,安装Go语言插件,还可以支持智能提示,编译运行等功能。
2)SublimeText,可以免费使用,默认也支持Go代码语法高亮,只是保存次数达到一定数量之后就会提示是否购买,点击取消继续用,和正式注册版本没有任何区别
3)Vim:Vim是从vi发展出来的一个文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用
4)Emacs:Emacs传说中的神器,她不仅仅是一个编辑器,因为功能强大,可称它为集成开发环境
5)Eclipse IDE工具,开源免费,并提供GoEclipse插件
6)LiteIDE,LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),是中国人开发的。
7)JetBrains公司的产品:PhpStrom、WebStrom和PyCharm等IDE工具,都需要安装Go插件,还要一款特别开发go语言的工具,名称就叫做Golang。
这里我们选择JetBrains公司的Golang开发者工具进行后期的go语言的开发,其安装教程如下:
首先我们先打开工具下载 官网 ,点击Download下载即可,如下:
下载完成双击下载的exe文件进行安装,然后傻瓜式安装即可,这里安装的文件位置记得不要放在C盘即可,然后下载完成双击打开工具,这里安装一下中文的插件然后重启工具即可:
环境安装与配置
随着golang的发展衍生了许多版本,不同的项目可能用到的golang的版本不同,所以这里我们需要使用一个版本控制工具进行安装,当然你只安装一个版本也是可以的,打开 官网 ,进行傻瓜式的安装然后配置一下环境变量即可,这里不再赘述,本文讲解一下多版本管理的操作:
首先先确保你电脑之前没有下载过golang环境,然后点击 链接 ,进入github页面点击下载,这里根据自己电脑的系统情况进行安装,这里我拿window进行举例,点击下载:
压缩包解压之后,将其放置在自定义目录里面,尽量不要放在C盘,如下:
接下来打开系统中的环境变量,来配置环境,需要进行如下几点的配置:
设置镜像:国内无法自由访问官网,为确保使用现在安装go流程,设置国内镜像点,配置系统变量如下:
G_MIRROR = https://golang.google.cn/dl/
设置g的工作目录:这里放在我自定义的golang目录里面,配置系统变量如下:
G_HOME = D:\environment\golang
配置GOROOT:这个指向g工作目录下的go,g安装go版本后,会在这个路径下建立一个软链到versions目录下的指定版本,靠这个方法来控制当前的go版本,如果安装g之前已经安装过go了,需要修改GOROOT这个环境变量,配置系统变量如下:
GOROOT = %G_HOME%\go
支持自定义安装目录:开启所有的实验特性,配置支持自定义安装目录,并配置GOBIN:
G_EXPERIMENTAL = true
GOBIN = %GOROOT%\bin
配置path变量:设置 g.exe 目录(及 g.exe 文件所在目录),这样就可以使用命令行随时访问,并配置 golang 执行文件目录:
D:\environment\golang\g
%GOBIN%
cmd测试: 配置完上面的环境变量之后,接下来我们打开终端输入 g 进行测试,如下说明成功:
输入 g env 可以看到g的环境变量配置;输入 g -v 可以看到当前g的版本信息:
以下是 g 工具常用的命令:
# 自动升级至最新版本
g self update
# 查询已安装的go版本
g ls
# 查询可供安装的所有go版本
g ls-remote
#查询当前可供安装的stable状态的go版本
g ls-remote stable
#安装指定go版本1.22.1
g install 1.22.1
# 切换至指定版本,需已下载
g use 1.22.1
# 卸载一个已安装的go版本
g uninstall 1.22.1
接下来我们开始给我们的电脑开始安装go环境,执行如下命令查看可以按钮的go环境:
这里我选择安装两个版本:1.22.1 和 1.16.3 ,如下:
回到我们自定义的安装go环境的目录,可以看到我们的版本都已经安装成功了:
现在我们cmd执行go version可以查看到我们当前使用的go环境版本如下:
环境工具安装配置好之后,接下来我们开始正式在编辑器中编写代码,如下:
package main // 声明文件所在的包,每个go文件必须有归属的包
import "fmt" // 引入程序需要的包,为了使用包里面封装好的函数
func main() { // main主函数,程序的入口
fmt.Println("Hel12lo, World!") // 在控制台打印输出一句话,双引号中的内容会原样输出
}
这里借助go包中的打印函数,在控制台输出 hello world 字样:
go语言的项目,需要有特定的目录结构进行管理,不能随便写,一个标准的go工程需要有三个目录,需要用一个名为GOPATH的环境变量来指定,如下,我们新建项目直接打开src文件即可:
src:存储项目的源代码
bin:编译之后的程序之后,使用标准命令go install之后存放位置
pkg:存放缓存包
语言编译特点
go语言是不区分平台的,在windows下面也可以编译一个程序,在linux下运行,需要两个环境变量来控制,如下:
GOOS:设定运行的平台
mac:GOOS = darwin;linux:GOOS = linux;windows:GOOS = windows
GOARCH:目标平台的体系构架
386:GOARCH = 386;amd64:GOARCH = amd64;arm:GOARCH = arm
执行 go env 可以看到我们在 windows 系统下运行的环境变量:
我们也可以将go编辑成linux下的运行的代码,我们可以通过命令 go build -o 命名文件 源文件,将一个go项目打包成一个exe文件,并且可以在windows系统下运行,如下:
如果想把文件编辑成linux系统下运行的可执行文件,通过改变goos可以操作,如下:
然后我们打包一个项目在windows运行肯定会出错的:
如果想把打包好的exe文件安装到一个目录上,我们就需要通过 go install 目录去执行,这里需要配置一下 GOBIN 环境变量的内容,修改一下其默认的位置, 这里我将其设置到如下目录:
执行如下命令之后
可以在设置文件夹下出现编译完成的exe文件,执行之后出现结果: