结论
go 语言的相对路径是由运行 go run
命令时所在的目录确定的
验证
项目结构
我的 demo02
目录所在位置是 E:\CodeStore\go\src\com.example\demo02
demo02
├── go.mod
└── main
└── main.go
修改 main.go
内容
package main
import (
"fmt"
"os"
)
func main() {
dir, err := os.ReadDir(".")
if err != nil {
fmt.Println(err.Error())
}
for _, d := range dir {
fmt.Println(d.Name())
}
}
演示
- 在
demo02
目录下使用go run
命令
- 在
demo02/main
目录中使用go run
命令
其他
在运行 go web 项目时,当合并请求路径时请优先考虑 path.Join()
(尤其是 windows),需要注意的是 path.Join()
只处理 /
,对于 \
是不处理的, 当使用 filepath.Join()
时需要格外注意,filepath.Join()
是根据操作系统来选择是使用 /
还是 \