我对rsync的创建路径有问题。
x := filepath.Join("home", "my_name", "need_folder", ".")
fmt.Println(x)
Run Code Online (Sandbox Code Playgroud)
我得到了"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)
Run Code Online (Sandbox Code Playgroud)
输出(在Go Playground上尝试):
home/my_name/need_folder/.
Run Code Online (Sandbox Code Playgroud)