Golang 环境入门

开整

老实说,安装这货真的很简单,但是上手玩儿实在不易。特别是那些框架啥的…

访问官网正确姿势

更新: 官方新增了一个地址可直接访问:https://golang.google.cn

首先说说这个,平时 小飞机 开着从来不在意,也是运气 前几天突然挂了发现 https://golang.org 它居然打不开?

当然了,我们 dig 一下发现了 google.com 的身影就不奇怪了。

以上以下都不重要,有飞机或者其它手段的略过。

这里我这里要说的是,如果你的宽带有 IPv6,是能直接打开的。

怎么看自己是否支持 IPv6 呢?戳这里:https://test-ipv6.com/index.html.zh_CN,它会告诉你的。

具体方法就是戳开 hosts 加上:

2607:f8b0:4009:812::2011    golang.org
来源:https://golang.org.ipaddress.com

安装

这里除了 Windows without WLS(不可安装 Linux 子系统的 Windows)我相信没有比包管理器安装的方式更舒服了:

macOS/Linux/WLS 直接安装 HomeBrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 然后直接 install go
brew install go

Windows 7/8/8.1/Server 怎么办?下载 msi 安装包…

安装过程结束后,我们只需要在控制台/终端上执行一下 go version

能看到版本就说明妥妥的了。此时我们可以敲敲万能的 Hello World 开始第一行代码。


如果还不知道从哪儿开始Go 语言教程 | 菜鸟教程非推广,该站有在线运行很方便】

视频可以去慕课找入门。

额外说明

有个小知识:

Golang 在 11 版本开始后,支持了一个功能叫 Module,俗称包管理机制。

需要注意的是这个小知识对以后的框架运用至关重要。

包管理 Module

Module 是在当需要使用三方组件包括框架之类时的最佳方案。

多说两句

我们在浏览框架文档时时常会看到诸如 Gin 框架中类似这样的命令:go get -u github.com/gin-gonic/gin

建议在执行这类命令前先执行 go env 瞧瞧当前配置,重点是 GOPATH 部分

自行更改,在 macOS 中该值默认为 ~/Go,通过 go get 获取的包会存储在 GOPATH 中,也就是 ~/Go/pkg/mod

根据规则 $GOPATH 目录内应有两个文件夹,分别是 pkgsrc

govendor

另外还有一个工具叫做 govendor,通过 brew install govendor 可安装使用

当然也可以通过 go get github.com/kardianos/govendor 的方式安装

govendor 命令只能在 $GOPATH 的目录内使用,一般会在 $GOPATH/src/项目名 下使用

当然这个目录的结构一般为 $GOPATH/src/github.com/GitHub 用户名/项目名

在该结构的项目目录内执行 govendor init 初始化后会在项目根目录下生成 vendor 文件夹

随后执行类似这样的命令 govendor fetch github.com/gin-gonic/gin 即可获取框架(此为 Gin 框架)。

但是!

很可能会下载失败,同样的如果有方法解决的童鞋可以配合 Proxifier 搞定

否则依靠 IPv6 也是可以的哟~,hosts 加上:

2607:f8b0:4001:c1b::52    go.googlesource.com
216.239.36.10             google.com

虽然麻烦且不好用,但是我们也得了解这玩意儿就是这么折腾的(😑我也冇法)

如果没有 IPv6 就使用下方镜像解决~

Module 镜像

阿里那个我一直失败不知道为啥,这里首推七牛云的 https://goproxy.cn。点击会自动跳转 GayHub 有设置方法。

第二选择使用 https://goproxy.io/zh/,点击后也有设置方法。

其实设置也非常简单,就是俩环境变量:

export GO111MODULE="on"
export GOPROXY="https://goproxy.cn,https://goproxy.io,direct"

这样设置后在项目中 import 三方包飕飕的飞快就下载下来了。

参考环境变量

此为 macOS 下通过 brew 安装的 Go。

# Golang path
export GOROOT="/usr/local/opt/go/libexec"
export GOPATH="$HOME/Go"
# Golang 1.11+ Module and Proxy
export GO111MODULE=on
export GOPROXY="https://goproxy.cn,https://goproxy.io,direct"

初始化框架

此处依旧以 Gin 框架为例。

首先获取 Gin 框架:

go get -u github.com/gin-gonic/gin

初始化

以下会有两个不同的目录结构用于初始化项目

方式一

方式一比较大众

首先进入 $GOPATH/src 并创建 github.com/username/ProjectName 目录。

此处假设 $GOPATH~/Go,则该目录看起来就像这样 ~/Go/src/github.com/maxsky/Go-Demo

在该项目目录下执行 go mod init && go mod vendor 后即可完成初始化。

方式二

如果你不喜欢 ~/Go/src/github.com/maxsky/Go-Demo 这个路径,你完全可以将项目放置到任意位置

如:~/Desktop/Go-Demo(任性扔桌面)

唯一有一点点区别的地方在于,你不能直接使用 go mod init 进行模块初始化

你需要这样:

# 其中 example.com 可以是 github.com/maxsky,也可以是自己的域名如 maxsky.cc
# 举两个栗子:go mod init github.com/maxsky/Go-Demo | go mod init maxsky.cc/Go-Demo
go mod init example.com/Go-Demo # 域名后要跟上项目名

最后同样执行 go mod vendor 即可完成初始化。

使用哪种方式取决于自己的喜好。

执行 Demo

进入项目根目录执行:

curl https://raw.githubusercontent.com/gin-gonic/examples/master/basic/main.go > main.go

随后运行该文件:(会监听 8080 端口,注意冲突)

go run main.go

戳开浏览器请求:http://localhost:8080/ping,然后 pong 的一声~结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

至天

看心情啦,最好留着自己喝奶茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值