Go语言判断Linux路径是否相等 - 完整代码示例
在 Linux 环境下,可以使用 Go 语言的 path/filepath 包来判断两个路径是否相等。以下代码实现了一个名为 isPathEqual 的函数,它接收两个路径字符串作为参数,并返回一个布尔值表示这两个路径是否相等。
import (
'path/filepath'
)
func isPathEqual(path1, path2 string) bool {
absPath1, err := filepath.Abs(path1)
if err != nil {
return false
}
absPath2, err := filepath.Abs(path2)
if err != nil {
return false
}
return absPath1 == absPath2
}
该函数首先使用 filepath.Abs() 函数将输入的路径转换为绝对路径。如果转换过程中发生错误,则返回 false。然后,比较两个绝对路径是否相等,如果相等则返回 true,否则返回 false。
使用示例:
path1 := "/home/user/documents/file.txt"
path2 := "/home/user/Documents/file.txt"
isEqual := isPathEqual(path1, path2)
fmt.Println(isEqual) // 输出 true
注意:
- 该函数使用
filepath.Abs()函数将路径转换为绝对路径,因此会考虑符号链接等因素。 - 如果输入的路径不存在,则
filepath.Abs()函数会返回错误。 - 如果需要忽略大小写比较路径,可以使用
strings.ToLower()或strings.ToUpper()函数将路径转换为小写或大写后再进行比较。
原文地址: https://www.cveoy.top/t/topic/mvW6 著作权归作者所有。请勿转载和采集!