go - Go 模板函数
问题描述
如何在 Go Templates 中创建函数?我正在尝试遍历传递给模板的目录树,但我不知道如何在不创建会调用自身的模板中的函数的情况下遍历子目录。
这是我想做的一些伪代码:
function loop(directory){
for item in directory:
if item.type == FOLDER:
loop(item)
}
如果有任何不清楚的地方,我很乐意澄清。
解决方案
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(".")
}
推荐阅读
- android - 在 App Bundle 的动态功能模块中访问资源
- angular - 从代码更改角度材质进度条颜色
- javascript - 如何有效地训练这个 JavaScript 神经网络(普通代码,没有框架或库)
- python - TensorFlow 神经网络在创建服务器后预测相同数据的不同答案
- oracle - pl/sql 将分层查询保存到变量
- python - WMI - 读取 Windows RDP 事件日志
- java - 复制 url 并粘贴到 Selenium 的 chrome 工具栏中
- visual-studio-2013 - 如何将 Visual Studio 2013 连接到 TFS 2018 服务器
- windows - Powershell根据创建日期属性设置adaccount过期
- firebase - 如何在 Vue.js 中获取新创建的 Firestore 文档的 ID?