我需要首先提取相对路径中第一个目录的名称。我知道我可以去做:relPath := "a/b/c/file.so"splitPath := strings.Split(relPath, string(os.PathSeparator))rootDirName := splitPath[0]有没有更好的办法?
1 回答
aluckdog
TA贡献1847条经验 获得超7个赞
如果你问是否有办法用 1 个标准的 Go 函数来做到这一点:我不知道。
另一种方法是:
relPath := "a/b/c/file.so"i := strings.Index(relPath, string(os.PathSeparator)) rootDirName := relPath[:i]
或者如果路径可能/
根本不包含:
relPath := "a/b/c/file.so"i := strings.Index(relPath, string(os.PathSeparator)) rootDirName := ""if i != -1 { rootDirName = relPath[:i] }
这样做的好处是不必拆分整个字符串,因此在长路径上可能会更快一些。
- 1 回答
- 0 关注
- 93 浏览
添加回答
举报
0/150
提交
取消