面试题答案
一键面试package main
import (
"fmt"
"path/filepath"
)
func main() {
relativePath := "a/b/../c"
resolvedPath, err := filepath.Abs(relativePath)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("Resolved Path:", resolvedPath)
}
filepath.Abs
函数:- 原理:
filepath.Abs
函数用于将一个相对路径转换为绝对路径。它会根据当前工作目录来解析相对路径。在解析过程中,它会处理路径中的..
和.
等特殊符号。..
表示上级目录,.
表示当前目录。 - 在上述代码中的作用:对给定的相对路径
a/b/../c
进行解析,先根据当前工作目录,然后处理路径中的..
,将路径解析为最终的绝对路径并返回。如果解析过程中出现错误(比如路径格式错误等),会返回错误信息。
- 原理: