新聞中心
函數(shù)注冊
函數(shù)注冊方式是最簡單且最靈活的的路由注冊方式,注冊的服務(wù)可以是一個實(shí)例化對象的方法地址,也可以是一個包方法地址。服務(wù)需要的數(shù)據(jù)可以通過模塊內(nèi)部變量形式或者對象內(nèi)部變量形式進(jìn)行管理,開發(fā)者可根據(jù)實(shí)際情況進(jìn)行靈活控制。相關(guān)方法:

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站制作、沁水網(wǎng)絡(luò)推廣、成都微信小程序、沁水網(wǎng)絡(luò)營銷、沁水企業(yè)策劃、沁水品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供沁水建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
func (s *Server) BindHandler(pattern string, handler interface{})我們可以直接通過?BindHandler?方法完成回調(diào)函數(shù)的注冊,在框架的開發(fā)手冊中很多地方都使用了回調(diào)函數(shù)注冊的方式來做演示,因?yàn)檫@種注冊方式比較簡單。
使用示例
Hello World
我們來看一個簡單的示例:
package main
import (
"github.com/GOgf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
)
func main() {
s := g.Server()
s.BindHandler("/", func(r *ghttp.Request) {
r.Response.Write("哈嘍世界!")
})
s.SetPort(8199)
s.Run()
}執(zhí)行后,我們訪問 http://127.0.0.1:8199 可以看到我們熟悉的內(nèi)容。
包方法注冊
注冊的路由函數(shù)可以是一個包方法,例如:
package main
import (
"github.com/gogf/gf/v2/container/gtype"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
)
var (
total = gtype.NewInt()
)
func Total(r *ghttp.Request) {
r.Response.Write("total:", total.Add(1))
}
func main() {
s := g.Server()
s.BindHandler("/total", Total)
s.SetPort(8199)
s.Run()
}在該示例中,我們通過包方法的形式來注冊路由。該方法返回總共訪問的次數(shù),由于涉及到并發(fā)安全,因此?total?變量使用了?gtype.Int?并發(fā)安全類型。執(zhí)行后,當(dāng)我們不停訪問 ?http://127.0.0.1:8199/total? 時,可以看到返回的數(shù)值不停遞增。
對象方法注冊
注冊的路由函數(shù)可以是一個對象的方法,例如:
package main
import (
"github.com/gogf/gf/v2/container/gtype"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
)
type Controller struct {
total *gtype.Int
}
func (c *Controller) Total(r *ghttp.Request) {
r.Response.Write("total:", c.total.Add(1))
}
func main() {
s := g.Server()
c := &Controller{
total: gtype.NewInt(),
}
s.BindHandler("/total", c.Total)
s.SetPort(8199)
s.Run()
}該示例與示例1的實(shí)現(xiàn)的效果一致,但我們使用了對象來封裝業(yè)務(wù)邏輯所需的變量,使用回調(diào)函數(shù)注冊來靈活注冊對應(yīng)的對象方法。
新聞名稱:創(chuàng)新互聯(lián)GoFrame教程:GoFrame路由注冊-函數(shù)注冊
網(wǎng)址分享:http://www.5511xx.com/article/cdpsiie.html


咨詢
建站咨詢
