Iris 框架解析之一

4,063 阅读3分钟
原文链接: lizetong.me

Golang 的简要

Go是Google开发的一种编译型,可并行化,并具有垃圾回收功能的编程语言。
Golang目前已经发展成为非常广泛使用的开发语言。
如果你开发WEB、后台服务、API,都可以用到golang。
更多的Golang可以参看官网

Iris 的设计特性

我觉得这些都是千篇一律的,网上随处可见 假如还是没有听过的,就阅读github


下面我们就进入正题


安装Iris

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

注:发现国内将golang.org和gopkg.in等一些地址墙了,解决方法就是在github找到对应的资源,然后放到$GoPath/src/目录下。或者在这里尝试。更或者加代理访问。

第一个例子

package main

import "github.com/kataras/iris"

func main() {
    api := iris.New() //获取iris实例,推荐这样写,方便后边设置其他属性
    api.Get("/hi", hi) //添加路由
    api.Listen(":8080") //设置端口,并监听
}

func hi(ctx *iris.Context){
   ctx.Writef("Hi %s", "iris")
}
  • 执行iris go main.go然后浏览器输入localhost:8080/hi就会在网页看到结果Hi iris
  • 注:例子中添加的端口号是8080,所以在访问时需要加上:8080
  • 而在平时我们需要直接访问而不想加上丑陋的:8080时,就需要将端口号改成:80,这样就可以直接访问域名了。
  • 但是特别主要的是一般80是系统对外的端口,需要系统权限的。在自己测试时还是用8080,在需要部署到服务器上线时,可以改成80端口。

第二个例子 html/template解析html

<!-- ./templates/hi.html -->
<html><head> <title> Hi Iris</title> </head>
  <body>
    <h1> Hi {{.Name}} </h1>
  </body>
</html>
// ./main.go
import "github.com/kataras/iris"

func main() {
    iris.Get("/hi", hi)
    iris.Listen(":8080")
}

func hi(ctx *iris.Context){
   ctx.Render("hi.html", struct { Name string }{ Name: "iris" })
}
  • Iris框架里面已经封装好了html模板的支持。
  • 函数ctx.Render(“hi.html”,struct{})
    • 第一个参数是需要加载的html文件
    • 第二个参数是struct{}对象,主要用于给模板传值
    • struct中的参数必须以大写字母开头,在模板中用.Value的形式读取。后面文章会讲解怎么传值,怎么取值。

特别注意: 注意模板的地址./templates/hi.html,在iris中默认会解析./templates文件下的所有.html文件(递归所有子目录)。后面文章我们会深入的讲解如何自定义解析目录。

主要知识点总结

  1. 添加端口监听:80与8080的区别
  2. 路由概念,iris.Get("/hi", hi)
  3. 渲染html页面ctx.Render()
  4. 渲染html模板,并如何传值

第一篇主要是正常运行例子,讲解例子里面的相关知识点,在后面几期里面会一一解答

博主本着把自己曾经趟过的坑重现一遍,如果你有什么问题疑惑欢迎留言,看到第一时间答复


**版权声明:本文为博主原创文章,转载请注明出处。**