面试题答案
一键面试实现思路
- 在Go语言中,
filepath
包已经针对不同操作系统提供了正确的路径分隔符处理。在Windows下,路径分隔符是\
,在Linux下是/
。filepath
包的函数会自动根据运行的操作系统选择正确的分隔符。 - 对于包含特殊字符(如空格、中文字符)的路径,
filepath
包的函数能够正确处理,无需额外处理特殊字符相关的转义等操作,因为Go语言字符串本身就能正确处理这些字符。
关键代码示例
package main
import (
"fmt"
"path/filepath"
)
func main() {
// 拼接路径
joinedPath := filepath.Join("parent", "含有空格 中文的文件夹", "file.txt")
fmt.Println("拼接后的路径:", joinedPath)
// 拆分路径
dir, file := filepath.Split(joinedPath)
fmt.Println("目录部分:", dir)
fmt.Println("文件部分:", file)
// 获取绝对路径
absPath, err := filepath.Abs(joinedPath)
if err != nil {
fmt.Println("获取绝对路径错误:", err)
} else {
fmt.Println("绝对路径:", absPath)
}
}
上述代码使用filepath.Join
拼接路径,filepath.Split
拆分路径,filepath.Abs
获取绝对路径,在不同操作系统下均能正确处理含有特殊字符的路径。