我对rsync的创建路径有问题。
x := filepath.Join("home", "my_name", "need_folder", ".") fmt.Println(x)
我得到了"home/my_name/need_folder",但是需要"home/my_name/need_folder/.",没有concat怎么解决?在名称为“。”的linux文件夹中。不是不可能。
"home/my_name/need_folder"
"home/my_name/need_folder/."
谢谢!
您不能使用,filepath.Join()因为其文档指出:
filepath.Join()
加入通话清理结果…
并且由于.表示“当前”目录,因此它将被删除filepath.Clean():
.
filepath.Clean()
它反复应用以下规则,直到无法进行进一步处理为止: […] 消除每个。路径名元素(当前目录)。
它反复应用以下规则,直到无法进行进一步处理为止:
[…]
消除每个。路径名元素(当前目录)。
实际上,您根本无法使用该path/filepath程序包执行任何操作,因此不支持此操作。
path/filepath
您需要手动使用字符串连接。使用filepath.Separator它,将是安全的:
filepath.Separator
x := filepath.Join("home", "my_name", "need_folder") + string(filepath.Separator) + "." fmt.Println(x)
输出(在Go Playground上尝试):
home/my_name/need_folder/.