首页 > 其他分享 >golang 可变参数用法, handlers ...HandlerFunc

golang 可变参数用法, handlers ...HandlerFunc

时间:2024-06-05 21:14:48浏览次数:26  
标签:... handle GET handlers golang HandlerFunc group

 

handlers ...HandlerFunc 这是什么写法,与 group.handle() 第三个参数是 []handlerFunc 是什么关系呢?

下面是 gin 中的用法:


routergroup.go

// GET is a shortcut for router.Handle("GET", path, handle).
func (group *RouterGroup) GET(relativePath string, handlers ...HandlerFunc) IRoutes {
    return group.handle(http.MethodGet, relativePath, handlers)
}

 

handlers ...HandlerFunc 是 Go 语言中的一种语法特性,被称为可变参数(Variadic Parameters)。

在这里,HandlerFunc 是一个类型,... 符号用于表示该参数可以接受零个或多个 HandlerFunc 类型的值。

在函数调用时,你可以传入任意数量的 HandlerFunc,它们会被当作一个 []HandlerFunc(HandlerFunc类型的切片)传递给 handle 方法。

例如,你可以这样调用GET方法:

group.GET("/path", handler1, handler2, handler3)

在这个例子中,handler1, handler2, handler3 都是 HandlerFunc 类型的函数,它们会被打包成一个切片传递给 handle 方法的 handlers 参数。

 

Link:https://www.cnblogs.com/farwish/p/18233788

标签:...,handle,GET,handlers,golang,HandlerFunc,group
From: https://www.cnblogs.com/farwish/p/18233788

相关文章

  • 【Go-多线程】Golang的channel实现消息的批量处理
    【Go-多线程】Golang的channel实现消息的批量处理。当消息量特别大时,使用kafka之类的messagequeue是首选,但这是更加轻量的方案channelx.go//这个方案需要实现以下几点://1.消息聚合后处理(最大条数为BatchSize),核心://(1)带buffer的channel相当于一个FIFO的队列//(2)多个常驻的gorou......
  • Golang初学:一些第三方包
    goversiongo1.22.1-- Web开发gorillahttps://gowebexamples.com中的示例有用到。 Routing(usinggorilla/mux)goget-ugithub.com/gorilla/mux-Sessions"github.com/gorilla/sessions"-Websockets$gogetgithub.com/gorilla/websocket- gingoget......
  • js 中 (function($){...})(jQuery) 含义
    原文链接:https://www.cnblogs.com/Jeely/p/10715089.htmljs中(function($){...})(jQuery)含义js中定义函数常用写法是functionname(arg){//arg则是匿名函数的参数。//...}调用函数时的写法是:name(arg);======================================================......
  • golang使用OpenCC繁简转换
    https://github.com/longbridgeapp/openccmain.gopackagemainimport( "fmt" "log" "github.com/longbridgeapp/opencc")funcmain(){ s2t,err:=opencc.New("s2t") iferr!=nil{ log.Fatal(err) } in:=`......
  • MJ伪造图片名(1,2,3...)
    importosdefrename_images_in_folder(root_folder):#遍历根目录forroot,dirs,filesinos.walk(root_folder):ifnotdirs:#检查当前目录下是否有子目录,没有则表示是底层子文件夹count=1forfileinfiles:......
  • 我真的从测试转成了开发......
    写在前面因为走的圈太大了,早上上班差点迟到,幸好有我每日5公里的加持,侥幸踩点进办公室,哈哈,真的好险!我开发的功能不能用了上午开始着手某功能的开发,还在写后台逻辑。结果到了下午,由于前端同学的代码冲突,打包发布后,导致我写的功能直接不能用了,瞬间emo了!套用我之前同事总说的一句......
  • golang net/http 的 ListenAndServe 的工作方式(取代 listen、accept)
      在Go的net/http包中,当你使用ListenAndServe或ListenAndServeTLS函数启动一个HTTP服务器时,你不需要直接调用listen和accept操作,因为这些函数已经为你处理了这些底层的网络细节。 ListenAndServe函数的工作方式如下:1.它首先调用net.Listen来监听指定的网络地......
  • golang 的 net/http 和 net/rpc 的区别, rpc 效率比 http 高?
     在Go语言中,net/http和net/rpc是两个不同的包,它们分别用于实现不同的网络通信模式:net/http:net/http包主要用于构建Web服务和客户端,它实现了HTTP协议,这是互联网上最广泛使用的应用层协议之一,主要用于传输超文本(HTML)和其他资源。HTTP协议是基于请求-响应模型的,客......
  • golang 使用 zap logger 加入Lumberjack 写日志
    golang使用zaplogger加入Lumberjack写日志Cd进入项目目录gogetgo.uber.org/zap/zapcoregoget-ugithub.com/natefinch/lumberjack关于下面代码说明: funcgetLogWriter()zapcore.WriteSyncer{lumberJackLogger:=&lumberjack.Logger{Filename:......
  • 工具:一键采集 平台:TB+PDD+JD...
    什么是数据集?电商商品数据集通常是指收集自电子商务平台的商品信息的结构化数据集合。这些数据包括但不限于商品名称、价格、描述、用户评价、分类标签、卖家信息、销售量、库存量、图片链接等。数据集可以由电商平台公开提供,也可以通过网络爬虫等技术手段获得,并且经常会用于机......