Win10系统下搭建Go lang开发环境更换国内源并且体验宇宙最快框架Iris

    最近有同学开始尝试接触Go lang,拥抱新技术永远都会是一个好习惯,之前的一篇文章介绍了如何在Mac os系统下配置Go lang开发环境,这次我们在Win10系统下进行配置,并且更换国内的安装源,最后再和“全宇宙最快的web框架”--Iris亲密接触一下,对于Iris可能很多朋友并不熟悉,一般Go lang在web开发领域相对著名的框架比如Beego或者Gin都名声在外,这里推荐Iris的原因也并不是因为它源于古希腊女神(彩虹女神)的炫酷名字,而是因为它在goroutine的加持下强大的Go http server的性能。

    首先进入网站下载win10安装包:https://studygolang.com/dl

    比之去年,go lang又前进了两个版本,目前的稳定版是1.14.4,发展势头可谓迅猛,但是这里建议还是选择go1.12.12版本,因为很多框架还不支持1.14.4,所以这里推荐的通用的稳定版本号是:go1.12.12.windows-amd64.msi

    

    安装目录推荐安装在c:/go即可。

    安装成功后,在Win10的环境变量中,系统应该会自动配置 GOROOT、GOPATH、GOBIN,请确保您的系统中配置了这三个变量,GOPATH可以理解为开发目录,GOROOT是安装目录,GOBIN则是可执行命令目录

    此时如果在win10命令行输入命令

go version

go version go1.12.12 windows/amd64

    可以打印出版本号的话,说明安装成功。

    随后是编辑器的推荐,对于初学者来说,这里还是力推vscode,因为它简单灵活,不需要各种复杂解释器的配置,只需要安装 CodeRunner和Go这两个插件就足以支撑你敏捷编写go lang了

    重启vscode

    新建test.go

package main
import "fmt"

func main() {
fmt.Println("hello go!")
}

    右键 "Run Code"

    

    编辑器配置好以后,现在我们尝试安装一些基于Go lang的三方库,一般情况下我们使用 go get 来进行安装,它在使用上有点类似于python的pip,但是令人遗憾的是,国内用户无法直接使用它,因为被屏蔽了,所以在安装Iris之前,我们需要针对go get来更换国内源,这里我们使用阿里云的源,在命令行输入下面两个命令

set GO111MODULE=on

set GOPROXY=https://mirrors.aliyun.com/goproxy

    开启GO111MODULE模块然后指定代理地址https://mirrors.aliyun.com/goproxy,需要注意的是,如果重启了电脑,你指定源会被复位,所以最好将这两个变量也加入到环境变量的设置中,可以确保永久生效。

    之后就可以安心的使用 go get 来安装彩虹女神Iris了

go get -v -u github.com/kataras/iris

    阿里云cdn镜像的速度还是非常给力的

    安装好以后,可以在go的安装目录新建一个项目文件夹,编写main.go文件

package main

import (
"github.com/kataras/iris"
"github.com/kataras/iris/middleware/logger"
"github.com/kataras/iris/middleware/recover"
)

func main() {
app := iris.New()
app.Logger().SetLevel("debug")
app.Use(recover.New())
app.Use(logger.New())
app.Get("/", func (ctx iris.Context){
ctx.HTML("你好,女神")
})

app.Run(iris.Addr(":8081"), iris.WithoutServerError(iris.ErrServerClosed))
}

    这里我们让Iris跑在8081端口上,进入main.go所在的目录,敲入命令

go run main.go

    在编译过程中,可能会报错一些依赖库未找到,此时不用担心,反复执行go run main.go命令进行依赖库的下载,最后把所有依赖都安装好后,就可以编译成功,最后运行

    打开浏览器,访问http://localhost:8081/

    那么关于Iris的安装和配置就到这里,以后会分享一些更多关于Iris的开发经验。