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

golang:跨平台路径。

golang:跨平台路径。

Go
潇湘沐 2021-05-10 13:14:16
我想path.Dir()在Unix和Windows上使用特定于平台的目录。请看一下代码:package mainimport (    "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/bpath.Dir("c:\foo\bar.exe"):  .我想第二次打电话给path.Dir()(windows)类似的东西c:\foo是否可以告诉path.dir()我在Windows上运行的程序使用Windows分隔符?还是应该始终将反斜杠转换\ 为正斜杠(/)?这里首选的策略是什么?
查看完整描述

1 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

我看到“问题”在哪里。提示path.Dir()始终使用/并且filepath.Dir()是用于依赖于平台的操作的函数。

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`))

}

在Windows上:


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

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


查看完整回答
反对 回复 2021-05-17
  • 1 回答
  • 0 关注
  • 248 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信