包的安装不在赘述,仅提几点:
通过设置GOPROXY=https://goproxy.io来使用代理去进行包的下载。
linux下通过export进行设置,windows下使用setx
如果使用mod 进行包管理,则最好通过replace指令替换一些难下载的包:
例如:
replace golang.org/x/text v0.0.0 => github.com/golang/text v0.3.2
路由规则:
app.Handle("GET","/", func(ctx iris.Context){})
app.Get("/home", func(context context.Context) {})
两者等价
app.Get("/do", doHandler, doFinishHandler)
设置了两个handler进行响应。
app.Get("/user/{id:int min(1)}", func(ctx context.Context) {})
获取参数,设定参数的类型和最值
adminRoutes := app.Party("/admin",adminMiddleware)
adminRoutes.Get("/login", func(i context.Context) {})
设置了子目录,访问路径变为:admin/login
v1 := app.Party("v1.")
userApi := v1.Party("/api/user")
userApi.Get("/{id:int}", func(ctx context.Context) {})
设置了子域名,访问路径变为:v1.localhost/api/user/id
简单demo:
简单url验证
package main
import (
"github.com/kataras/iris"
)
func main(){
app := iris.New()
app.Get("/", func(ctx iris.Context) {
ctx.WriteString("hello world")
})
app.Run(iris.Addr(":8080"), iris.WithCharset("utf-8"))
}
简单页面:
func main(){
app := iris.New()
htmlEngine := iris.HTML("./demo/",".html")
app.RegisterView(htmlEngine)
app.Get("/hello", func(ctx iris.Context) {
ctx.ViewData("title","test page")
ctx.ViewData("content","here are some strings ")
ctx.View("hello.html")
})
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{.title}}</title>
</head>
<body>
{{.content}}
</body>
</html>
附一下目录结构方便路径理解:
MVC 项目:
beego框架可以通过bee 工具来实现项目结构的初始化。
iris好像没有类似的工具,但是目录结构较为常规:
文档中给出的例子:https://studyiris.com/doc/irisDoc/MoviesMVCApplication.html
相比之下好像beego的工具更齐全一些,附一个beego及其工具bee的使用简介:
https://www.jianshu.com/p/e61ef6ad67a6
配合使用的工具 xorm
我这边使用的时xorm 及其cmd工具,可以帮助处理数据库相关的操作,生成model文件等,相关介绍见链接:
https://www.jianshu.com/p/78f7edabe6c1