首页 > 解决方案 > Go 模板函数

问题描述

如何在 Go Templates 中创建函数?我正在尝试遍历传递给模板的目录树,但我不知道如何在不创建会调用自身的模板中的函数的情况下遍历子目录。

这是我想做的一些伪代码:

function loop(directory){
 for item in directory:
   if item.type == FOLDER:
     loop(item)
}

如果有任何不清楚的地方,我很乐意澄清。

标签: gogo-templates

解决方案


package main

import (
    "fmt"
    "io/ioutil"
    "log"
)

func  loop(folder string){
    files, err := ioutil.ReadDir(folder)
    if err != nil {
        log.Fatal(err)
    }
    for _, f := range files {
        if f.IsDir() {
            loop(f.Name())
        }
        fmt.Println(f.Name())
    }
}
func main()  {

    loop(".")
}


推荐阅读