package fstpl import ( "html/template" "log" "os" "runtime" "strings" ) func AutoParseTplFiles() *template.Template { var currentFilePath string var ok bool _, currentFilePath, _, ok = runtime.Caller(1) if !ok { panic("Error: Unable to get the current file path.") } dirs := strings.Split(currentFilePath, "/") dirs = dirs[0 : len(dirs)-1] var curdir string for i := 0; i < 20; i++ { curdir = strings.Join(dirs, "/") finfo, err := os.Stat(curdir + "/fs_template") //TODO: 完成 if err == nil && finfo.IsDir() { tpls, err := template.ParseGlob(curdir + "/fs_template/*.tpl") if err != nil { log.Fatal(err) } return tpls } // log.Println(finfo, err) dirs = dirs[:len(dirs)-1] } panic("can't find template dirs") }