DAY-10 入门Go项目5 | 青训营笔记

110 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天

初识 Go 语言Web框架

二、Iris——目前发展最快的 Go Web框架。

概要及特点介绍

Iris 是基于 Go 语言目前发展最快的一种 Web 框架,提供完整的 MVC 功能并且面向未来,具有高效、设计良好、跨平台属性、小巧、轻量、快,具有强大的功能集,可用于高性能 Web 应用程序和 API,其潜力和可移植性无限;开发者框架从使用层面来看上手轻松,相当于使用 Node.js 与 expressjs 的关系。Iris 支持的 Web 应用程序也可以部署在Serverless工作流上,如在 AWSNetlify 上部署运行。

常用的相关资料网站:

  1. Iris 官网:https://iris-go.com/
  2. Iris 源码:https://github.com/kataras/iris
  3. Iris 中文文档: https://studyiris.com/doc/

Iris 的安装

安装 Iris 框架前,Go 环境的要求版本至少为1.8

可以通过命令 go version 查看 Go 的版本。

  • 安装方式:Go 全局安装或第三方包管理工具。
  • 安装命令:go get -u http://github.com/kataras/iris

安装完成 Iris 后,在 GO_PATH 环境目录中能够找到src/http://github.com/的 Iris 源码说明安装说明。

Iris模板

Iris 框架为开发者提供了自学的实战案例用于参考,在 Iris 框架目录中的_example目录下。

Iris构建服务实例Demo:

在Demo中,通过iris.New()来实例化一个应用服务对象app;通过Run方法开启端口监听服务和运行服务实例。

  • Demo:
import "http://github.com/kataras/iris"

func main() {
    appInsatnce := iris.New() 
    appInsatnce.Run(iris.Addr(":8080"), iris.WithoutServerError(iris.ErrServerClosed)) 
    //监听端口8080
}

分析Demo代码,其中iris.New 函返回一个 iris.Application 实例,这种服务实例可通过它的 Configure(...iris.Configurator)Run 方法进行配置。

  • 参数1appInsatnce.Run 方法的第一个参数一般为Host,一般开发者会采用传递一个形如 hostname:ip 形式的网络地址来开启服务。如通过iris.Addr来完成,它本质上返回的是iris.Runner
  • 参数2appInsatnce.Run 方法的第二个参数是可选的、可变长的,用于接受一个或者多个 iris.Configurator

iris.Configuratorfunc(app *iris.Application) 类型的函数,可自定义

阅读文档和源代码可知,Iris 的配置字段几乎都有一个内建的 iris.Configurator