golang实战开发之基础配置篇:拓展学习:iris框架介绍和使用技巧

Iris 是一款 Go 语言中用来开发 web 应用的框架,该框架支持编写一次并在任何地方以最小的机器功率运行,如 Android、ios、Linux 和 Windows 等。该框架只需要一个可执行的服务就可以在平台上运行了。

Iris以简单而强大的api而闻名。 除了Iris为您提供的低级访问权限。 Iris同样擅长MVC。 它是唯一一个拥有MVC架构模式丰富支持的Go Web框架,性能成本接近于零。

Iris为您提供构建面向服务的应用程序的结构。 用Iris构建微服务很容易。

在 iris 框架的官方网站上,被称为速度最快的 Go 后端开发框架。在 Iris 的网站文档上,列出了该框架具备的一些特点和框架特性:

  • 专注于高性能
  • 健壮的静态路由支持和通配符子域名支持
  • 视图系统支持超过 5 以上模板
  • 支持定制事件的高可扩展性 Websocket API
  • 带有 GC, 内存 & redis 提供支持的会话
  • 方便的中间件和插件,强大的路由和中间件生态系统
  • 完整 REST API,简单流畅的API
  • 能定制 HTTP 错误
  • 视图系统.支持五种模板隐隐 完全兼容 html/template
  • 热重启,源码改变后自动加载

在哪里学习iris框架

在学习 Iris 框架过程时,我们需要有相应的配套资料才能够完成我们的学习。下面是学习 Iris 框架过程中可能会用到的资料。

  • Iris 官网:iris-go.com/
  • Iris 框架源码地址:github.com/kataras/iris
  • Iris 框架中文学习文档: studyiris.com/doc/

最好的学习途径是一面做项目一面在实战中学习,先学个大概,然后再深入学习细节。

iris框架的安装

现在已经是go 1.15版以上了,安装非常方便。比如我们开发的博客网站,使用的go mod管理工具,它会自动处理包和依赖,我们只需要在项目中import对应的包,在执行编译的时候,它会自动下载和安装依赖。也可以手动执行下载命令:

go get github.com/kataras/iris/v12

比如我们在main.go 中使用iris,先在main.go 中写上如下代码:

package main
import "github.com/kataras/iris/v12"
func main() {
    app := iris.New()
    app.Get("/", func(ctx iris.Context){})
    app.Run(iris.Addr(":8080"))
}

然后在当前项目目录下执行go mod tidygo mod vendor即可将iris框架下载下来,并放到项目的vendor目录了。

iris的使用

安装完Iris,我们就可以跟着下面的简单示例运行我们的第一个web应用程序了,下面程序通过调用 不同方法实现不同格式的输出如 json,字符串,和直接输出html代码等

我们新建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.Use(recover.New())
    app.Use(logger.New())
    //输出html
    // 请求方式: GET
    // 访问地址: http://localhost:8080/welcome
    app.Handle("GET", "/welcome", func(ctx iris.Context) {
        ctx.HTML("<h1>Welcome</h1>")
    })
    //输出字符串
    // 类似于 app.Handle("GET", "/ping", [...])
    // 请求方式: GET
    // 请求地址: http://localhost:8080/ping
    app.Get("/ping", func(ctx iris.Context) {
        ctx.WriteString("pong")
    })
    //输出json
    // 请求方式: GET
    // 请求地址: http://localhost:8080/hello
    app.Get("/hello", func(ctx iris.Context) {
        ctx.JSON(iris.Map{"message": "Hello Iris!"})
    })
    app.Run(iris.Addr(":8080"))//8080 监听端口
}

现在打开控制台切换到该文件同级目录我们执行以下命令:

go run main.go

现在我们打开浏览器或者curl 请求的们定义的地址,这里我们拿 http://localhost:8080/welcome 测试:
我们将看到Welcome信息。

iris 的功能:

  • 路由功能。路由上下文概要、动态路由参数、路由和反向查找、中间件、包装路由器
  • http错误处理。
  • MVC架构。MVC 结合Websocket、MVC 结合session
  • 视图模板功能。Iris支持开箱即用的5个模板引擎
  • Sessions。Iris提供快速,功能齐全且易于使用的会话管理器
  • Websockets。WebSocket是一种通过TCP连接实现双向持久通信通道的协议
  • Cookies。

具体每一个功能我们不需要刻意去学习。因为实际上如果这个功能你在项目中用不到的话,学了也很容易就忘记。我依然坚持的学习方法是,在实战中按需求学习。这样每一个用到的功能都会经过你的大脑,然你记住他。即使现在记不住,你至少知道了你用过这玩意,后续查资料的时候,也能根据记忆,懂得使用搜索引擎来找答案。

教程用例源码

完整的项目示例代码托管在GitHub上,访问github.com/fesiong/goblog 可以查看完整的教程项目源代码,建议在查看教程的同时,认真对照源码,可以有效提高码代码速度和加深对博客项目的认识。建议直接fork一份来在上面做修改。欢迎点Star。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值