当前位置: 首页 > news >正文

中国购物网站排名做网站赚钱流量

中国购物网站排名,做网站赚钱流量,没有备案的网站怎么做淘宝客,十大免费ppt网站下载背景 在做一些自动生成的代码工作时#xff0c;有时需要知道方法以及对应的参数名 如果仅是方法#xff0c;利用反射机制就可以解决 而参数名#xff0c;程序编译后#xff0c;已经丢失 可以通过 AST 事先获取方法的参数名 有了方法、参数名#xff0c;加上反射…背景 在做一些自动生成的代码工作时有时需要知道方法以及对应的参数名 如果仅是方法利用反射机制就可以解决 而参数名程序编译后已经丢失 可以通过 AST 事先获取方法的参数名 有了方法、参数名加上反射那么就可以方便生成胶水代码自动集成进 HTTP 、 gRPC 等 获取方法、参数名的例子 下面的例子从特定包 flagInput 特定的结构体 flagStructName 获取该结构体所有的方法以及对应的参数名 conf : packages.Config{Mode: packages.LoadAllSyntax,Tests: false,}packages, err : packages.Load(conf, flagInput)if err ! nil {fmt.Println(Error loading packages:, err)return}allPackages packagesfor _, pkg : range packages {if pkg.Name ! flagPackageName {continue}for _, info : range pkg.TypesInfo.Defs {if info nil {continue}structType, ok : info.Type().(*types.Named)if !ok {continue}if structType.Obj().Name() ! flagStructName {continue}for i : 0; i structType.NumMethods(); i {method : structType.Method(i)methodName : method.Name()if _, ok : excludeMethods[method.Name()]; ok {continue}sig : method.Type().(*types.Signature)params : make([]string, sig.Params().Len())for i : 0; i sig.Params().Len(); i {params[i] sig.Params().At(i).Name()}allMethods[methodName] paramssortMethods append(sortMethods, methodName)}}}可以把这些信息写入 map 声明这样代码里就有类似反射参数的功能了。类似 var methods map[string][]string{Method1: { userid, playerid, otherparam1, otherparam2 },Method2: { userid, playerid }, }集成 HTTP 服务的例子 如有以下类似模板 register.tmpl func RegisterMethod(engine *gin.Engine) {{{ range .Methods -}}engine.Any(HttpPrefix{{.}}, func(context *gin.Context) { HandleGin(context, {{.}}) }){{ end -}} }通过类似以下代码 tmpl, err : template.ParseFiles(flagTmpl)if err ! nil {panic(err)}var buf bytes.Buffererr tmpl.Execute(buf, map[string]interface{}{Methods: sortMethods})if err ! nil {panic(err)}就可以自动生成到 HTTP 的胶水代码 func RegisterMethod(engine *gin.Engine) {engine.Any(HttpPrefixMethod1, func(context *gin.Context) { HandleGin(context, Method1) })engine.Any(HttpPrefixMethod2, func(context *gin.Context) { HandleGin(context, Method2) }) }例子中的 HandleGin 函数实现则可以: 利用方法及对应的参数信息获取实际参数值利用反射实现对应结构体函数的调用 其他例子 如生成函数的接口调用说明 模板类似 {{ range .Methods -}} {{.Index}}.{{.Comment}} http://api/{{.MethodName}}?{{ range $index, $param : .Params }}{{ if $index }}{{ end }}{{ $param }}0{{ end }} {{ end -}}还是基于上面的获取的方法、参数名的 map 实例信息就可以展开了
http://www.hkea.cn/news/14324370/

相关文章:

  • 北京网站开发最专业的公司直播营销策略有哪些
  • 建个微商城网站多少钱网站主机服务器
  • 个人网站的域名网站后台管理水印怎么做
  • 深圳市建网站公司网页浏览器怎么设置
  • 列表网做优化网站怎么样千万pv网站开发成本
  • 石家庄无极网站建设快递公司网站怎么做
  • 深圳网站开发制作ui图标素材网站
  • 平面设计公司名字大全成都网站优化
  • 网站软件大全免费下修改目录wordpress
  • 铜仁建设集团招聘信息网站手把手教你入侵网站修改数据
  • 网站建设难吗外贸网站优化排名
  • 网站建设保定有没有做网站的高手
  • 谷歌搜索引擎免费入口镜像深圳网站建设网站优化服务
  • 台州网站建设企业企业网站页面
  • 网站兼容ie代码国建设网站
  • 网站建设企业模板wordpress分权限浏览
  • 四川省建设科技协会网站首页凡科做网站在百度能看见吗
  • 深圳市门户网站建设企业官方网站建设的公司
  • 教育培训学校网站建设方案php手机网站如何制作
  • 茂名网站建设哪家好上海app开发推荐中伟科
  • 正规网站建设方案详细品牌高端网站
  • 网站做新闻外链有作用吗然后做网站
  • flash网站as网站面包屑导航怎么做的
  • 北京网站建设是什么微信小程序发布流程
  • 深圳专业网站优化公司报价个人网站设计报告书
  • 订餐网站模板下载太仓市住房和城乡建设局规网站
  • app网站模板广州网站建设星珀
  • php可以做网站wordpress打开高级设置
  • 潍坊网站制作价格平面设计能做什么工作
  • 影视网站怎么做内链优化大师怎么提交作业