成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > 詳解Golang Iris框架的基本使用

詳解Golang Iris框架的基本使用

熱門標(biāo)簽:地圖區(qū)域圖標(biāo)注后導(dǎo)出 赤峰電銷 利用地圖標(biāo)注位置 江蘇呼叫中心外呼系統(tǒng)有效果嗎 官渡電銷外呼管理系統(tǒng)怎么收費(fèi) 杭州人工智能電銷機(jī)器人費(fèi)用 400開頭電話怎樣申請(qǐng) 谷歌美發(fā)店地圖標(biāo)注 貴州電話智能外呼系統(tǒng)

Iris介紹

編寫一次并在任何地方以最小的機(jī)器功率運(yùn)行,如Android、ios、Linux和Windows等。它支持Google Go,只需一個(gè)可執(zhí)行的服務(wù)即可在所有平臺(tái)。 Iris以簡(jiǎn)單而強(qiáng)大的api而聞名。 除了Iris為您提供的低級(jí)訪問權(quán)限。 Iris同樣擅長(zhǎng)MVC。 它是唯一一個(gè)擁有MVC架構(gòu)模式豐富支持的Go Web框架,性能成本接近于零。 Iris為您提供構(gòu)建面向服務(wù)的應(yīng)用程序的結(jié)構(gòu)。 用Iris構(gòu)建微服務(wù)很容易。

1. Iris框架

1.1 Golang框架

  Golang常用框架有:Gin、Iris、Beego、Buffalo、Echo、Revel,其中Gin、Beego和Iris較為流行。Iris是目前流行Golang框架中唯一提供MVC支持(實(shí)際上Iris使用MVC性能會(huì)略有下降)的框架,并且支持依賴注入,使用入門簡(jiǎn)單,能夠快速構(gòu)建Web后端,也是目前幾個(gè)框架中發(fā)展最快的,從2016年截止至目前總共有17.4k stars(Gin 35K stars)。

Iris is a fast, simple yet fully featured and very efficient web framework for Go. It provides a beautifully expressive and easy to use foundation for your next website or API.

1.2 安裝Iris

Iris官網(wǎng):https://iris-go.com/
Iris Github:https://github.com/kataras/iris

# go get -u -v 獲取包
go get github.com/kataras/iris/v12@latest
# 可能提示@latest是錯(cuò)誤,如果版本大于11,可以使用下面打開GO111MODULE選項(xiàng)
# 使用完最好關(guān)閉,否則編譯可能出錯(cuò)
go env -w GO111MODULE=on
# go get失敗可以更改代理
go env -w GOPROXY=https://goproxy.cn,direct

2. 使用Iris構(gòu)建服務(wù)端

2.1 簡(jiǎn)單例子1——直接返回消息

package main

import (
	"github.com/kataras/iris/v12"
	"github.com/kataras/iris/v12/middleware/logger"
	"github.com/kataras/iris/v12/middleware/recover"
)

func main() {
	app := iris.New()
	app.Logger().SetLevel("debug")
	// 設(shè)置recover從panics恢復(fù),設(shè)置log記錄
	app.Use(recover.New())
	app.Use(logger.New())

	app.Handle("GET", "/", func(ctx iris.Context) {
		ctx.HTML("h1>Hello Iris!/h1>")
		
	})
	app.Handle("GET", "/getjson", func(ctx iris.Context) {
		ctx.JSON(iris.Map{"message": "your msg"})
	})
	
	app.Run(iris.Addr("localhost:8080"))
}

其他便捷設(shè)置方法:

// 默認(rèn)設(shè)置日志和panic處理
app := iris.Default()

我們可以看到iris.Default()的源碼:

// 注:默認(rèn)設(shè)置"./view"為html view engine目錄
func Default() *Application {
	app := New()
	app.Use(recover.New())
	app.Use(requestLogger.New())
	app.defaultMode = true
	return app
}

2.2 簡(jiǎn)單例子2——使用HTML模板

package main

import "github.com/kataras/iris/v12"

func main() {
	app := iris.New()
	// 注冊(cè)模板在work目錄的views文件夾
	app.RegisterView(iris.HTML("./views", ".html"))
	
	app.Get("/", func(ctx iris.Context) {
		// 設(shè)置模板中"message"的參數(shù)值
		ctx.ViewData("message", "Hello world!")
		// 加載模板
		ctx.View("hello.html")
	})
	
	app.Run(iris.Addr("localhost:8080"))
}

上述例子使用的hello.html模板

html>
head>
	title>Hello Page/title>
/head>
body>
	h1>{{ .message }}/h1>
/body>
/html>

2.3 路由處理

上述例子中路由處理,可以使用下面簡(jiǎn)單替換,分別針對(duì)HTTP中的各種方法

app.Get("/someGet", getting)
app.Post("/somePost", posting)
app.Put("/somePut", putting)
app.Delete("/someDelete", deleting)
app.Patch("/somePatch", patching)
app.Head("/someHead", head)
app.Options("/someOptions", options)

例如,使用路由“/hello”的Get路徑

app.Get("/hello", handlerHello)

func handlerHello(ctx iris.Context) {
	ctx.WriteString("Hello")
}

// 等價(jià)于下面
app.Get("/hello", func(ctx iris.Context) {
		ctx.WriteString("Hello")
	})

2.4 使用中間件

app.Use(myMiddleware)

func myMiddleware(ctx iris.Context) {
	ctx.Application().Logger().Infof("Runs before %s", ctx.Path())
	ctx.Next()
}

2.5 使用文件記錄日志

 整個(gè)Application使用文件記錄

上述記錄日志

// 獲取當(dāng)前時(shí)間
now := time.Now().Format("20060102") + ".log"
// 打開文件,如果不存在創(chuàng)建,如果存在追加文件尾,權(quán)限為:擁有者可讀可寫
file, err := os.OpenFile(now, os.O_CREATE | os.O_APPEND, 0600)
defer file.Close()
if err != nil {
	app.Logger().Errorf("Log file not found")
}
// 設(shè)置日志輸出為文件
app.Logger().SetOutput(file)

到文件可以和中間件結(jié)合,以控制不必要的調(diào)試信息記錄到文件

func myMiddleware(ctx iris.Context) {
	now := time.Now().Format("20060102") + ".log"
	file, err := os.OpenFile(now, os.O_CREATE | os.O_APPEND, 0600)
	defer file.Close()
	if err != nil {
		ctx.Application().Logger().SetOutput(file).Errorf("Log file not found")
		os.Exit(-1)
	}
	ctx.Application().Logger().SetOutput(file).Infof("Runs before %s", ctx.Path())
	ctx.Next()
}

上述方法只能打印Statuscode為200的路由請(qǐng)求,如果想要打印其他狀態(tài)碼請(qǐng)求,需要另使用

app.OnErrorCode(iris.StatusNotFound, func(ctx iris.Context) {
	now := time.Now().Format("20060102") + ".log"
	file, err := os.OpenFile(now, os.O_CREATE | os.O_APPEND, 0600)
	defer file.Close()
	if err != nil {
		ctx.Application().Logger().SetOutput(file).Errorf("Log file not found")
		os.Exit(-1)
	}
	ctx.Application().Logger().SetOutput(file).Infof("404")
	ctx.WriteString("404 not found")
})

  Iris有十分強(qiáng)大的路由處理程序,你能夠按照十分靈活的語法設(shè)置路由路徑,并且如果沒有涉及正則表達(dá)式,Iris會(huì)計(jì)算其需求預(yù)先編譯索引,用十分小的性能消耗來完成路由處理。

注:ctx.Params()和ctx.Values()是不同的,下面是官網(wǎng)給出的解釋:

Path parameter's values can be retrieved from ctx.Params()Context's local storage that can be used to communicate between handlers and middleware(s) can be stored to ctx.Values() .

Iris可以使用的參數(shù)類型

Param Type Go Type Validation Retrieve Helper
:string string anything (single path segment) Params().Get
:int int -9223372036854775808 to 9223372036854775807 (x64) or -2147483648 to 2147483647 (x32), depends on the host arch Params().GetInt
:int8 int8 -128 to 127 Params().GetInt8
:int16 int16 -32768 to 32767 Params().GetInt16
:int32 int32 -2147483648 to 2147483647 Params().GetInt32
:int64 int64 -9223372036854775808 to 92233720368?4775807 Params().GetInt64
:uint uint 0 to 18446744073709551615 (x64) or 0 to 4294967295 (x32), depends on the host arch Params().GetUint
:uint8 uint8 0 to 255 Params().GetUint8
:uint16 uint16 0 to 65535 Params().GetUint16
:uint32 uint32 0 to 4294967295 Params().GetUint32
:uint64 uint64 0 to 18446744073709551615 Params().GetUint64
:bool bool “1” or “t” or “T” or “TRUE” or “true” or “True” or “0” or “f” or “F” or “FALSE” or “false” or “False” Params().GetBool
:alphabetical string lowercase or uppercase letters Params().Get
:file string lowercase or uppercase letters, numbers, underscore (_), dash (-), point (.) and no spaces or other special characters that are not valid for filenames Params().Get
:path string anything, can be separated by slashes (path segments) but should be the last part of the route path Params().Get

在路徑中使用參數(shù)

app.Get("/users/{id:uint64}", func(ctx iris.Context){
	id := ctx.Params().GetUint64Default("id", 0)
})

使用post傳遞參數(shù)

app.Post("/login", func(ctx iris.Context) {
		username := ctx.FormValue("username")
		password := ctx.FormValue("password")
		ctx.JSON(iris.Map{
			"Username": username,
			"Password": password,
		})
	})

以上就是Iris的基本入門使用,當(dāng)然還有更多其他操作:中間件使用、正則表達(dá)式路由路徑的使用、Cache、Cookie、Session、File Server、依賴注入、MVC等的用法,可以參照官方教程使用,后期有時(shí)間會(huì)寫文章總結(jié)。

到此這篇關(guān)于詳解Golang Iris框架的基本使用的文章就介紹到這了,更多相關(guān)Golang Iris框架使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • mac下安裝golang框架iris的方法
  • golang常用庫之操作數(shù)據(jù)庫的orm框架-gorm基本使用詳解
  • golang 網(wǎng)絡(luò)框架之gin的使用方法
  • golang日志框架之logrus的使用

標(biāo)簽:黔西 泰安 松原 武漢 宜春 鷹潭 河池 保定

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Golang Iris框架的基本使用》,本文關(guān)鍵詞  詳解,Golang,Iris,框架,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解Golang Iris框架的基本使用》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解Golang Iris框架的基本使用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    久久99精品久久久久久水蜜桃| 91色视频在线| 久久本道综合色狠狠五月| 一区二区在线免费观看视频| 国产一区二中文字幕在线看| 欧美喷水一区二区| xx免费视频| 欧美激情中文字幕| a级片在线免费看| 国产成人一区二区三区| 毛片在线视频播放| 国产www网站| 日本1区2区| 午夜精品久久久久久久蜜桃app| 先锋资源男人站| 久热精品在线| 亚洲人成77777| 91欧美日韩麻豆精品| 国产精品pans私拍| 18aaaa精品欧美大片h| 激情综合网俺也去| 欧美日韩精品一二三区| 五月婷婷综合久久| 激情综合网天天干| 天天综合天天综合色| 91精品国产91久久久久| 欧美三级黄色大片| 日韩av电影在线观看| 一本精品一区二区三区| 国产盗摄在线视频网站| 久久天天躁狠狠躁夜夜躁2014| 成人av影视| 一区二区91| av电影在线观看| 色8久久精品久久久久久蜜| 国产日韩精品一区二区三区| 日本a级片免费| 轻点好疼好大好爽视频| 日韩精品久久理论片| 中文字幕免费国产精品| 欧美熟妇激情一区二区三区| 91另类视频| 成人免费观看视频在线观看| 欧美久久久久久久久久久久| 99精品视频网| 国产精品久久视频| 亚洲在线天堂| 国产精品污视频| 人妻少妇无码精品视频区| 91黄色在线| 亚洲视频免费| 欧美成人高潮一二区在线看| 国产精品xxx电影| 欧美挤奶吃奶水xxxxx| 亚洲一级av无码毛片精品| 成人av在线网址| 国产成人在线综合| 欧美图片自拍偷拍| 欧美+日本+国产+在线a∨观看| 性欧美18xxxhd| 婷婷综合六月| 日韩专区中文字幕一区二区| 中文字幕久久久久久久| av在线亚洲天堂| 一级中文字幕一区二区| 高清无码视频直接看| 国产欧美日韩一区二区三区在线| 一区二区三区四区在线看| 国产精品私人自拍| www.亚洲免费视频| 免费看又黄又无码的网站| 久久av高潮av| 99国产精品久久久久99打野战| 美国av一区二区| 久久久久99精品成人| 精品国产一区二区三区2021| 在线观看中文字幕av| 亚洲国产另类 国产精品国产免费| 精品国产乱码一区二区三区四区| 成人深夜福利app| 国产精品成人av久久| av中文字幕第一页| 国产另类第一区| 日韩欧美中文在线| 99久久99久久精品国产片| 日本一级在线观看| 超碰成人免费在线| 国产精品红桃| 亚洲精品极品少妇16p| 99久久免费国| 亚洲精品欧美一区二区三区| 日韩 欧美一区二区三区| 欧美一区亚洲一区| 中国china体内裑精亚洲片| 日本一道高清亚洲日美韩| 午夜性色一区二区三区免费视频| 亚洲第一免费看片| 高清在线观看av| 一区二区三区日韩精品| 高清av在线| 亚州国产精品视频| 99热精品在线观看| 欧美性猛交xx乱大交| 国产毛片久久久久| 国产精品九九九九| 国内精品第一页| 无码任你躁久久久久久老妇| 久久久久久久久久影视| 中文字幕日韩第一页| 国产一二三视频| 日韩中文字幕高清| 国产一区香蕉久久| 亚洲中字在线| 一区二区三区免费在线看| 中文字幕日韩经典| 国产成人福利网站| 国产精品无码一区二区三| 在线观看国产原创自拍视频| 91久久中文字幕| 少妇太紧太爽又黄又硬又爽| 国产v日韩v欧美v| 米奇777在线欧美播放| 羞羞网站在线观看| 国产精品一区二区久久| 精品福利一区二区三区免费视频| 国产一区 在线播放| 热门国产精品亚洲第一区在线| 免费aⅴ网站| 免费av片风间由美在线| 亚洲熟女乱色一区二区三区| www.av一区视频| 导航福利在线| 国产无遮挡猛进猛出免费软件| 成年美女网站| 国产精品女上位| 亚洲综合色噜噜狠狠| 性欧美高清视频| 好吊色欧美一区二区三区四区| 国偷自产av一区二区三区麻豆| 丁香激情五月少妇| 久久人人爽亚洲精品天堂| 日本天码aⅴ片在线电影网站| 五月天亚洲色图| 一区二区三区日韩欧美精品| 亚洲va欧美va在线观看| 蜜臀av午夜精品| 欧美高清一级片在线| 欧美顶级少妇做爰| 日韩一区二区三区不卡| 三上悠亚久久精品| 久久先锋影音| 欧美激情不卡| 日韩在线播放一区二区| 成人黄色午夜影院| 高清国语自产在线观看| 免费成人在线视频观看| 一区二区三区视频播放| 精品国产成人| 亚洲国产三级网| 国产精品永久在线| 午夜精品一区二区三区在线| 91久久一区二区| 欧美日韩一区自拍| 黑人巨大精品欧美一区二区桃花岛| 国产精品一区二区三区乱码| 三级黄色的网站| 国产精品v亚洲精品v日韩精品| 色偷偷久久人人79超碰人人澡| 三级影片在线看| 欧美日韩中文字幕一区二区| 综合视频在线观看| 午夜精品久久久久久久男人的天堂| 四虎影院在线免费播放| 嫩草影院2018| 国产欧美日产一区| 夜夜爽夜夜操| 97超级在线观看免费高清完整版电视剧| 日本大香伊一区二区三区| 精品久久久三级| 狠狠综合久久av一区二区| 少妇高潮喷水久久久久久久久久| 免费动漫网站在线观看| 欧美二区三区| 92国产精品视频| 国产一区二区三区在线观看免费视频| 免费看精品久久片| 国产无套粉嫩白浆内谢的出处| 国产精品视频白浆合集| 欧美午夜激情视频| 精品国产无码AV| 日韩网站免费观看高清| 亚洲日本网址| 国产调教在线观看| 亚洲国产福利视频| 亚洲国产综合色| 一区二区亚洲精品国产| 国产精品美乳一区二区免费| 成人国产精品毛片| 91久久香蕉国产日韩欧美9色| 欧美极品jizzhd欧美18| 91超碰碰碰碰久久久久久综合| 肉色欧美久久久久久久免费看| 韩国三级视频在线观看| 一区二区三区.www| 成人福利免费网站| 青青青在线播放| 大尺度一区二区| 久久精品免视着国产成人| 91插插插插插插| 国产精品99一区| 国产丝袜在线播放| 亚洲第一av色| 亚洲电影中文字幕在线观看| 色先锋av资源在线| 欧美日韩在线电影| 成人免费看吃奶视频网站| 99久久免费精品国产免费| 完美搭档在线观看| 欧美日韩在线视频一区二区| 怕怕欧美视频免费大全| 欧美影院精品一区| 午夜欧美2019年伦理| 日韩高清av一区二区三区| 免费成人在线看| 国产乱码精品一区二区三区中文| 国产日本在线播放| 在线国产精品一区| av一区二区在线播放| 91佛爷在线| 最近更新在线中文字幕一页| 久久成人免费网站| 欧美另类videoxo高潮| 在线看片一区| 日本美女一区| 中文字幕日本精品| 国产一区二区视频免费观看| 欧美午夜在线| 日韩欧美国产精品综合嫩v| 好吊妞视频一区二区三区| 日本不卡久久| 色欲一区二区三区精品a片| 中文字幕第315页| 免费观影入口看日本视频| 三区精品视频观看| 色999久久久精品人人澡69| 欧洲vodafonewi精品| 91欧美精品午夜性色福利在线| 久久久久国产| 免费看欧美美女黄的网站| 欧美在线中文字幕高清的| 97香蕉超级碰碰久久免费的优势| 国产揄拍国内精品对白| 91久久精品日日躁夜夜躁国产| www.黄色国产| 不卡的av在线播放| 97国产精品视频| 每日更新在线观看av| 欧美精品一二三四区| 久久成人免费观看| 国产草草影院ccyycom| 日韩av电影在线观看| 久久婷婷国产91天堂综合精品| 欧美国产日韩中文字幕在线| 久草免费新视频| 国产三级做爰在线观看| 少妇精品久久久久久久久久| 亚洲成人精品在线观看| 国产黄色小视频| 红桃视频国产一区| 不卡一区在线观看| 91精品蜜臀在线一区尤物| 成色在线视频| 国产乱淫av片免费| 日本三级电影网| 欧美日韩一区二区三区高清| 国内小视频在线看| 亚洲欧美国产另类首页| 中国日韩欧美久久久久久久久| 欧美视频二区| 国产成人精品无码片区在线| 欧美成人综合| 日本jizzjizz| 欧洲美女免费图片一区| 国产精品xxx电影| 日本亚洲三级在线| 午夜伦理一区二区| 中文字幕在线观看视频www| 国产精选久久久久久| 都市激情综合| 农村一级毛片| 日韩中文在线中文网在线观看| 性欧美暴力猛交另类hd| 中文字幕日韩国产| 精品久久久久久中文字幕大豆网| 免费在线一级片| 色婷婷精品大视频在线蜜桃视频| 91官网在线观看| 日本v片在线高清不卡在线观看| 成人小视频免费在线观看| 欧美日韩**字幕一区| 熟女人妇 成熟妇女系列视频| 亚洲区综合中文字幕日日| 被弄出白浆喷水了视频| 精品少妇一二三区| 亚洲精品.com| 国产高潮失禁喷水爽到抽搐| 成人污污视频| 国产欧美短视频| 国产熟妇一区二区三区四区| 日本一区二区在线视频观看| 人人做人人爽人人爱| 色成人免费网站| 亚洲欧美日韩久久久久久| 国内精品久久久久伊人av| 国产精品久久久久7777按摩| 久本草在线中文字幕亚洲| 久久91麻豆精品一区| 四虎av在线| 精品一二三区| 欧美一区二区三区粗大| 精品av久久久久电影| 动漫性做爰视频| 人妻妺妺窝人体色www聚色窝| 日本亚洲天堂网| av成人在线电影| 一区二区三区四区五区| 国产传媒久久文化传媒| 欧美a在线观看|