Go 以方便的方式在不同包中使用路径

Go 以方便的方式在不同包中使用路径,go,Go,我有一个程序,我在其中使用了很多“./”来提升一个级别 并在具有特定名称的目录上运行某些进程。我在围棋中有一个命令行工具 我有三个问题 有更好的方法来做,而不是“。/” 是否有一个常量可以代替“/”使用 如果2不可用,我是否应该在该内部包下创建“常量”,以便在包之间共享“/”,因为我需要它 许多地方(来自不同的包…) 范例 dir.zip("../"+tmpDirName, "../"+m.Id+".zip", "../"+tmpDirName) 设置一个变量,并在任何地方使用该变量:

我有一个程序,我在其中使用了很多“./”来提升一个级别 并在具有特定名称的目录上运行某些进程。我在围棋中有一个命令行工具

我有三个问题

  • 有更好的方法来做,而不是“。/”
  • 是否有一个常量可以代替“/”使用
  • 如果2不可用,我是否应该在该内部包下创建“常量”,以便在包之间共享“/”,因为我需要它 许多地方(来自不同的包…)
  • 范例

       dir.zip("../"+tmpDirName, "../"+m.Id+".zip", "../"+tmpDirName)
    
  • 设置一个变量,并在任何地方使用该变量:

    path := "../"
    

    随后:

    dir.zip(path+tmpDirName, path+m.Id+".zip", path+tmpDirName)
    
    这使得将来通过命令行选项、配置或编辑值来更改路径变得非常容易

  • 是。是当前体系结构的操作系统特定路径分隔符

  • 不适用
  • 在某个地方声明一个全局常量,但我只会在任何地方使用“.”
  • 操作系统路径分隔符
  • 使用
    filepath.Join(“…”,someDir,someFilename)

  • 据我所知,你不必像其他OO语言那样创建很多包。看看GithubLet中的一些repo,让我们看看一些代码。“/”已经是一个常量。@Peter-请看我的更新,我在代码中的不同位置使用它谢谢,但是对于第一个建议,我需要在几个不同的文件中定义它,为什么创建常量文件更好,我可以在不同的文件中共享和使用常量文件在这种情况下对我来说非常有意义。
    dir.zip(path+tmpDirName, path+m.Id+".zip", path+tmpDirName)