方便地使用不同包中的路径

时间:2018-02-21 12:27:13

标签: go

我有一个程序,其中我经常使用" ../"这是一个级别 在文件系统中,在具有特定名称的目录上运行一些进程。我在Go中有一个命令行工具。

我有3个问题

  
      
  1. 有更好的方法来代替“../”
  2.   
  3. 是否有一个const我可以使用而不是“/”
  4.   
  5. 如果2不可用,我应该在该内部包下创建“常量”以在包之间共享“/”,因为我需要它   许多地方(来自差异包......)
  6.   

示例

   dir.zip("../"+tmpDirName, "../"+m.Id+".zip", "../"+tmpDirName)

2 个答案:

答案 0 :(得分:0)

  1. 设置一个变量,并在任何地方使用它:

    path := "../"
    

    path := ".." + string(os.PathSeparator)
    

    然后:

    dir.zip(path+tmpDirName, path+m.Id+".zip", path+tmpDirName)
    

    通过命令行选项,配置或仅编辑值,可以很容易地在将来更改路径。

  2. 是。 os.PathSeparator是当前体系结构的特定于操作系统的路径分隔符。

  3. N / A

答案 1 :(得分:0)

  1. 在某个地方声明一个全局const,但我只会在任何地方使用“..”
  2. os.PathSeparator
  3. 使用filepath.Join("..", someDir, someFilename)