日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame路由注冊(cè)-函數(shù)注冊(cè)

函數(shù)注冊(cè)

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

成都創(chuàng)新互聯(lián)公司專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站制作、沁水網(wǎng)絡(luò)推廣、成都微信小程序、沁水網(wǎng)絡(luò)營(yíng)銷(xiāo)、沁水企業(yè)策劃、沁水品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供沁水建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

func (s *Server) BindHandler(pattern string, handler interface{})

我們可以直接通過(guò)?BindHandler?方法完成回調(diào)函數(shù)的注冊(cè),在框架的開(kāi)發(fā)手冊(cè)中很多地方都使用了回調(diào)函數(shù)注冊(cè)的方式來(lái)做演示,因?yàn)檫@種注冊(cè)方式比較簡(jiǎn)單。

使用示例

Hello World

我們來(lái)看一個(gè)簡(jiǎn)單的示例:

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í)行后,我們?cè)L問(wèn) http://127.0.0.1:8199 可以看到我們熟悉的內(nèi)容。

包方法注冊(cè)

注冊(cè)的路由函數(shù)可以是一個(gè)包方法,例如:

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()
}

在該示例中,我們通過(guò)包方法的形式來(lái)注冊(cè)路由。該方法返回總共訪問(wèn)的次數(shù),由于涉及到并發(fā)安全,因此?total?變量使用了?gtype.Int?并發(fā)安全類(lèi)型。執(zhí)行后,當(dāng)我們不停訪問(wèn) ?http://127.0.0.1:8199/total? 時(shí),可以看到返回的數(shù)值不停遞增。

對(duì)象方法注冊(cè)

注冊(cè)的路由函數(shù)可以是一個(gè)對(duì)象的方法,例如:

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)的效果一致,但我們使用了對(duì)象來(lái)封裝業(yè)務(wù)邏輯所需的變量,使用回調(diào)函數(shù)注冊(cè)來(lái)靈活注冊(cè)對(duì)應(yīng)的對(duì)象方法。


文章標(biāo)題:創(chuàng)新互聯(lián)GoFrame教程:GoFrame路由注冊(cè)-函數(shù)注冊(cè)
本文鏈接:http://www.5511xx.com/article/cdpsiie.html