👏 Hi! 我是 Yumuing,一个技术的敲钟人
👨💻 每天分享技术文章,永远做技术的朝拜者
📚 欢迎关注我的博客:Yumuing's blog
GO语言也称为Golang,由谷歌出品,随着云计算的发展而不断壮大,近年来,使用GO语言的程序员越来越多,GO程序员一般被称为GOpher。GO语言在语法上与C语言相类似,GO语言有以下的特点:
- 开源 ,开源免费是很多程序员选择GO语言的原因之一;
- 跨平台 ,可以在windows,Linux,MacOS等平台使用;
- 独具一格的面向对象编程方式 通过结构类型+关联方法来实现面向编程的能力;
- 网络功能丰富 这个要慢慢体会;
- 程序可以直接在谷歌的网站上运行 在go playground,可以直接编写代码或把自己的代码粘贴上,然后运行,所以可以在不安装任何软件的情况下使用GO语言,也可以在以下网站运行。https://play.studygolang.com/
- 并发编程简洁 ;
- 丰富的标准库 ;
由于博主硬盘空间较为充足,不考虑移动软件安装目录,需要者请自行寻找方法,本文为无脑操作。
下载安装Golang
go version
配置 Golang 环境
GO111MODULE
我们可以简单的理解为,在没有go modules机制时,go工程中对于第三方功能包的管理非常复杂,也非常专业,这就导致程序员在进行开发的时候,对于第三方功能包的管理很不方便,所以才有了go modules机制。这个机制的开关是通过GO111MODULE环境变量来配置的。
GO111MODULE=off,无模块支持,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
GO111MODULE=on,模块支持,go命令行会使用modules,而一点也不会去GOPATH目录下查找。
GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:
注:如果后面不需要使用,可以再将值设置为off。
GOPROXY
从字面意思就能看出,GOPROXY表示的是go的代理设置,之所以有这个环境变量,是因为go这种语言不像C语言,在C语言中,如果我们想要使用别人的第三方代码,一般有两种途径:
而在go语言中,类似于java,可以在编程时,引入第三方代码的库地址,比如git仓库,然后在编译的时候,IDE会自动的拉取第三方库文件到当前工程。
这样做虽然很方便,但是带来了一个问题:网速和限制,
golang默认的GOPROXY是https://goproxy.io,这个是官方的设置,我们可以使用国内的代理,Windows下设置如下:,因为一些限制,我们不能很顺利的使用和下载这些仓库,这样就会导致下载缓慢或者失败,所以这个时候就需要一个代理来实现下载,这个代理就是中间商,可以跨过限制来访问。
golang默认的GOPROXY是,这个是官方的设置,我们可以使用国内的代理:https://goproxy.cn
开启 Go mod 模式及设置包下载国内镜像
GO111MODULEonGOPROXYhttps://goproxy.cngo envgo env -w GOPROXY=https://goproxy.cn,directgo env -w GO111MODULE=on
配置 Vscode Golang 环境
package main
import "fmt"
func main() {
fmt.Println("Hello Word!")
}
Bug 集锦
The "gopls" command is not available.Run "go get -v golang.org/x/tools/gopls" to install.
点击 install all 即可。显示如下即可。