一分耕耘,一分收获!既然都打开这篇《path.IsAbs 返回 windows 路径的错误结果》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,
一分耕耘,一分收获!既然都打开这篇《path.IsAbs 返回 windows 路径的错误结果》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新golang相关的内容,希望对大家都有所帮助!
问题内容path.isabs 的文档说 isabs 报告路径是否是绝对路径。我的代码中有一个函数,用于检查第一个参数是否是绝对路径,如果不是,则会创建一个绝对路径。
func getPath() string {
var dir string
fmt.Printf("first arg -> %s and is it abs? %t\n", os.Args[1], path.IsAbs(os.Args[1]))
if path.IsAbs(os.Args[1]) {
dir = os.Args[1]
} else {
var currentDir string
currentDir = filepath.Dir(os.Args[0])
dir, _ = filepath.Abs(path.Join(currentDir, os.Args[1]))
}
return dir
}
输出是 first arg -> c:\users\mohammad\music\uncateGorized\telegram 是abs吗?假
但是第一个参数是绝对的,那么我错过了什么?
看看这个函数的source code,很明显它只是检查路径的第一个字符是否是/
。这意味着它采用 unix 样式的路径,而不是带有驱动器号的 windows 样式。但这种行为是设计使然,并且也有详细记录。在 the documentation 的开头,明确表示:
路径包只能用于由正斜杠分隔的路径,例如 url 中的路径。 此软件包不处理带有驱动器号或反斜杠的 windows 路径;要操作操作系统路径,请使用 path/filepath 包。
因此,请遵循文档并针对您的特定用例使用正确的包。
对于 windows 操作系统,您可以使用
c:\\users\\mohammad\\music\\uncategorized\\telegram
或
C:/Users/Mohammad/Music/Uncategorized/Telegram
它们应该能够完美地适合您的情况。
以上就是《path.IsAbs 返回 Windows 路径的错误结果》的详细内容,更多关于的资料请关注编程网公众号!
--结束END--
本文标题: path.IsAbs 返回 Windows 路径的错误结果
本文链接: https://www.lsjlt.com/news/596685.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0