Golang实现路径参数化
前言
在许多项目中,需要导入一些文件、本地图片等,在使用的时候,会使用其路径。将路径参数化会使得代码更加灵活有效。
Windows路径分析
- 目录分隔符:\(默认情况下)
路径获取
以一个小例子为例,还是linux_cmd.json文件,我放在了db文件夹下:
针对当前目录下,想要在项目被移动的情况下,依旧能够获得文件的路径,可以使用filepath.Abs()
方法:使用相对路径得到对应的绝对路径。
代码如下:
package main
import (
"fmt"
"path/filepath"
)
func main() {
// 获取文件的相对路径
fileName := ".\\db\\linux_cmd.json"
// 获取文件的绝对路径
path, err:= filepath.Abs(fileName)
if err != nil {
fmt.Println("file path error: " + err.Error())
return
}
fmt.Println(path)
}
控制台输出:
D:\amf\db\linux_cmd.json
其实此处直接用相对路径就可以了,filepath
包提供了很多的方法,还需要多研究研究,我个人还是比较习惯这样使用绝对路径。