0
点赞
收藏
分享

微信扫一扫

跨平台- path.Dir

我想在Unix和Windows平台上使用​ path.Dir()​。请看代码

package main

import (
"fmt"
"path"
)

func main() {
fmt.Println(`path.Dir("a/b/c"): `, path.Dir("a/b/c"))
fmt.Println(`path.Dir("c:\foo\bar.exe"): `, path.Dir(`c:\foo\bar.exe`))
}

上面的代码会输出

path.Dir("a/b/c"):  a/b
path.Dir("c:\foo\bar.exe"): .

本意应该是获得地址 

c:\foo

使用 fitlepath 可以兼容平台获取正确的文件路径

package main

import (
"fmt"
"path/filepath"
)

func main() {
fmt.Println(`filepath.Dir("a/b/c"): `, filepath.Dir("a/b/c"))
fmt.Println(`filepath.Dir("c:\foo\bar.exe"): `, filepath.Dir(`c:\foo\bar.exe`))
}

on windows:

filepath.Dir("a/b/c"):  a\b
filepath.Dir("c:\foo\bar.exe"): c:\foo

举报

相关推荐

0 条评论