为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这是文件路径。步行示例具有排除窗口和计划9的构建标记

为什么这是文件路径。步行示例具有排除窗口和计划9的构建标记

Go
牧羊人nacy 2022-09-19 20:41:01
在 https://pkg.go.dev/path/filepath#Walk代码示例是// +build !windows,!plan9package mainimport (    "fmt"    "io/fs"    "os"    "path/filepath")func prepareTestDirTree(tree string) (string, error) {    tmpDir, err := os.MkdirTemp("", "")    if err != nil {        return "", fmt.Errorf("error creating temp directory: %v\n", err)    }    err = os.MkdirAll(filepath.Join(tmpDir, tree), 0755)    if err != nil {        os.RemoveAll(tmpDir)        return "", err    }    return tmpDir, nil}func main() {    tmpDir, err := prepareTestDirTree("dir/to/walk/skip")    if err != nil {        fmt.Printf("unable to create test dir tree: %v\n", err)        return    }    defer os.RemoveAll(tmpDir)    os.Chdir(tmpDir)    subDirToSkip := "skip"    fmt.Println("On Unix:")    err = filepath.Walk(".", func(path string, info fs.FileInfo, err error) error {        if err != nil {            fmt.Printf("prevent panic by handling failure accessing a path %q: %v\n", path, err)            return err        }        if info.IsDir() && info.Name() == subDirToSkip {            fmt.Printf("skipping a dir without errors: %+v \n", info.Name())            return filepath.SkipDir        }        fmt.Printf("visited file or dir: %q\n", path)        return nil    })    if err != nil {        fmt.Printf("error walking the path %q: %v\n", tmpDir, err)        return    }}为什么围棋作者排除了窗户和计划9?
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

不知何故,此更改是与提交消息一起添加的

make Walk example runnable in the playground


查看完整回答
反对 回复 2022-09-19
  • 1 回答
  • 0 关注
  • 83 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号