<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [golang]filepath.Glob的缺陷,不支持多級目錄

        最近在使用Gin框架的模板加載過程中,發現其對于多級子目錄中的模板支持有問題(僅僅支持一級子目錄),后經過查看其源碼發現是filepath包的Glob方法的問題。下面先說結論:

      1. 多級目錄支持有問題
      2. 不支持shell下的Glob的擴展特性

        下面是我的模板目錄結構:

      views
      │  401.html
      │  home.tmpl
      │
      ├─admin
      │  ├─authorize
      │  │      index.tmpl
      │  │
      │  └─dicts
      │          index.tmpl
      │
      ├─signin
      │      signin.html
      │      signout.html
      │
      └─users
              index.html
      View Code

        按照其他語言中Glob的使用經驗,應該可以輕松的列出views目錄中的.tmpl文件,于是我嘗試下面的模式,結果竟然為空

      filepath.Glob("./views/**/*.tmpl")

        下面是測試各種模式組合的代碼:

       func testGlob(){  
        patternList := []string{
              "./views/*",
              "./views/**", /** 和一個星號一樣,列出直接子目錄和文件 */
              "./views/*.tmpl",
              "./views/**/*.tmpl",
              "./views/**/*",
              "./views/**/*/*.tmpl",
              "./views/*/*/*.tmpl",
              "./views/**/**/*.tmpl",
              "./views/{*.tmpl,**/*.tmpl,**/**/*.tmpl}",
          }
          for _, pattern = range patternList {
              files, err := filepath.Glob(pattern)
              if err != nil {
                  slog.Error(fmt.Sprintf("filepath.Glob(\"%s\") error", pattern), err)
              }
              fmt.Printf("filepath.Glob(\"%s\") result files=[%s]\n", pattern, strings.Join(files, ";"))
          }
      }

        運行結果如下:

      filepath.Glob("./views/*") result files=[views\401.html;views\admin;views\home.tmpl;views\signin;views\users]
      filepath.Glob("./views/**") result files=[views\401.html;views\admin;views\home.tmpl;views\signin;views\users]
      filepath.Glob("./views/*.tmpl") result files=[views\home.tmpl]
      filepath.Glob("./views/**/*.tmpl") result files=[]
      filepath.Glob("./views/**/*") result files=[views\admin\authorize;views\admin\dicts;views\signin\signin.html;views\signin\signout.html;views\users\index.html]
      
      filepath.Glob("./views/**/*/*.tmpl") result files=[views\admin\authorize\index.tmpl;views\admin\dicts\index.tmpl]
      filepath.Glob("./views/*/*/*.tmpl") result files=[views\admin\authorize\index.tmpl;views\admin\dicts\index.tmpl]
      filepath.Glob("./views/**/**/*.tmpl") result files=[views\admin\authorize\index.tmpl;views\admin\dicts\index.tmpl]
      filepath.Glob("./views/{*.tmpl,**/*.tmpl,**/**/*.tmpl}") result files=[]

       

      posted @ 2023-02-02 20:05  柒零壹  閱讀(545)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产午夜精品福利免费看| 国产精品亚洲mnbav网站| 好吊视频一区二区三区人妖| 人妻少妇偷人无码视频| 亚洲aⅴ综合av国产八av| 国产不卡一区不卡二区| 亚洲精品成人综合色在线| 国产成人精品中文字幕| 国产亚洲av夜间福利香蕉149 | 精品国产一区AV天美传媒| 冷水江市| 亚洲第四色在线中文字幕| 99久久精品费精品国产一区二| 使劲快高潮了国语对白在线| 欧洲人与动牲交α欧美精品| 精品一日韩美女性夜视频| 国产一级二级三级毛片| 亚洲国产区男人本色vr| 一区二区三区四区黄色片| 国产成人无码AV片在线观看不卡| 40岁大乳的熟妇在线观看| 国产精品一二二区视在线| 亚洲成aⅴ人在线观看| 国产精品香港三级国产av| 九九热在线免费观看视频| 午夜性爽视频男人的天堂| 精品国产AV最大网站| 讷河市| av中文无码乱人伦在线观看| 露脸国产精品自产拍在线观看| 亚洲精品国产美女久久久| 色噜噜亚洲男人的天堂| 18禁黄网站免费| 国产人妻大战黑人20p| 国产毛1卡2卡3卡4卡免费观看 | 污网站在线观看视频| 亚洲国产成人av国产自| 精品素人AV无码不卡在线观看| 国产激情一区二区三区不卡| 久久久久人妻一区二区三区| 香蕉亚洲欧洲在线一区|