go - 在不同包中使用路径的便捷方式

标签 go

我有一个程序,我在其中使用了很多“../”,这是为了更上一层楼 在文件系统中并在具有特定名称的目录上运行一些进程。我在 Go 中有一个命令行工具。

我有3个问题

  1. there is nicer way to do it instead of “../“
  2. is there a const with which I can use instead of “/“
  3. if 2 is not available should I create “constants“ under that internal package to share the “/“ between packages since I need it in many place (from diff packages...)

例子

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

最佳答案

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

    path := "../"
    

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

    然后:

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

    这使得将来通过命令行选项、配置或仅编辑值来更改路径变得非常容易。

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

  3. 不适用

关于go - 在不同包中使用路径的便捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48905939/

相关文章:

mysql - 如何获取 MySQL 和 Go 中最后插入的行的 ID?

go - 通过 Golang 记录器写入日志

go - 如何从新的帖子 url 重定向到 Buffalo 中的显示帖子 url

go - Redigo:当 Redis 服务器关闭时快速失败

json.Marshal(struct) 返回 "{}"

go - 匿名结构作为模板中的管道

Goroutine 报错

go - 您如何查看已安装的导入包中的 .go 文件?

json - 如何制作包含 [] 数组的 [] 数组和映射

node.js - 关于微服务架构的问题