Iris 之路

Iris 2019-12-12 2290 字 1137 浏览 点赞

起步

这段日子以来实在是有些堕落的。照性格来说,我总会一边堕落,一边惴惴不安。拉开 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 开源社区做贡献的大佬们!!!



本文由 Guan 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论