起步
这段日子以来实在是有些堕落的。照性格来说,我总会一边堕落,一边惴惴不安。拉开 20 年的时光长河来看,本不应该为这种寻常“景色”挂怀。可我总觉得有什么会来不及了,要再快一点,必须再快一点……
能想到的是,写一系列的博客让自己勤奋一点吧。虽不知道重病在身,药石还能不能医治。
从 Iris 开始
编程语言以 Go 为主,框架是 Iris。我特意查过,有虹膜的意思——或许能成为我向外眺望的一次机会。作为近几年很火的一款 Web 框架,Iris 号称性能强劲。倒不知真假,一起来看看呗。
环境准备
安装 Go
从镜像网站下载 win 版 Golang:https://gomirrors.org/。我选择的是 1.13.5 版本。Windows 程序无脑安装,就不做太多解释。唯一需要注意的是 Go 的安装路径,要记下,后续会用到。
安装成功后,打开我的电脑(此电脑),右键空白处,点击菜单中的属性。点击左边的高级系统设置,点击环境变量,点击用户变量下的新建,我们需要创建四个用户变量。
以下“=”左边为变量名,右边为变量值。依次创建即可。
GOROOT = D:\Tools\GO113 # Go 的安装路径
GOBIN = D:\Tools\Go113\bin # Go 安装路径下的 bin 文件夹路径
GOPATH = D:\GoSrc # 理论上这个文件夹路径你可以随便给
GOPROXY = https://goproxy.io # 设置代理,不然你可能拉不下任何依赖
创建成功后,点击确定。打开 cmd,键入 go env
。如果安装成功,会有一些内容打印出来,如果你愿意仔细看,会发现一些旧相识,也就是我们前面创建的用户变量。
Go 的简单示例
用 vscode 随便打开一个空文件夹,创建 main.go 文件。此时 vscode 会提示你安装一些东西,反正都不懂,不妨全安装了吧。
现在,在 main.go 中键入以下内容:
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
然后 cmd 中 go run main.go
。应该是可以正常输出“hello world”。
要是失败了怎么办?我建议百度。
Iris 的简单示例
现在可以创建一个空文件(我创建的名字叫做 web),打开 cmd ,设置一下 GO111MODULE。
go env -w GO111MODULE=on
进入 web 文件夹里,cmd 中执行 go mod init web
。
创建 main.go 文件,复制粘贴以下代码:
// web/main.go
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.Default()
app.Get("/ping", func(ctx iris.Context) {
ctx.JSON(iris.Map{
"message": "pong",
})
})
app.Run(iris.Addr(":8080"))
}
执行:go run main.go
。此时会下载一些依赖,需要一点时间。完成后打开浏览器键入 http://0.0.0.0:8080/ping。照常理,页面显示:
{"message":"pong"}
你应该想得到,页面之所以返回的是 {"message":"pong"},与下面代码有关:
ctx.JSON(iris.Map{
"message": "pong",
})
现在可以尝试将 “message” 或者 “page” 修改为其他内容,重新执行 go run main.go
查看效果。
rizla 的意义
但是你会发现,每次修改代码就需要 ctrl+c 一下,然后执行 go run main.go,难不成我的时间不值钱了?
没关系的,都有解决方案。那就是 rizla 。安装也很简单:go get -u github.com/kataras/rizla
。
此后启动程序以 rizla main.go
,代码就能热加载了。
感谢
由衷感谢为 Go 开源社区做贡献的大佬们!!!
还不快抢沙发