我对rsync的创建路径有问题。

x := filepath.Join("home", "my_name", "need_folder", ".")
fmt.Println(x)

我得到"home/my_name/need_folder",但是需要"home/my_name/need_folder/.",没有concat怎么解决?在名称为“。”的linux文件夹中。不是不可能。

谢谢!

最佳答案

您无法使用 filepath.Join() 做到这一点,因为其文档说明:

并且由于.表示“当前”目录,因此 filepath.Clean() 会将其删除:

实际上,您根本无法使用 path/filepath 包来做您想做的事,不支持此操作。
您需要手动使用字符串连接。为此,请使用filepath.Separator:

x := filepath.Join("home", "my_name", "need_folder") +
    string(filepath.Separator) + "."
fmt.Println(x)
输出(在Go Playground上尝试):
home/my_name/need_folder/.

关于go - filepath.Join删除点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51669486/

10-15 11:30