gpt4 book ai didi

go - 将 go 文件放在模块路径上是一个好习惯吗?

转载 作者:行者123 更新时间:2023-12-01 22:41:17 28 4
gpt4 key购买 nike

我发现一些项目将 go 文件放在模块路径上。例如:

  • v2ray-corecore.go将文件放在模块路径上并放入 main.gomain目录。
  • https://github.com/iawia002/anniemain.go在模块路径上。

  • 我想知道将 go 文件放在模块路径上是否是一个好习惯。

    最佳答案

    这在很大程度上是基于意见的。把 main.go在没有太多工作的小程序中经常看到进入存储库根目录。当主包开始获取大量文件时,有些人所做的是将紧密耦合的代码放入名为 cmd 的子文件夹中。和理论上可以被其他项目重用的代码放到一个名为 pkg 的子文件夹中.不过此时,pkg 中的代码还不如拥有自己的存储库。
    将主包放入子文件夹,而在存储库根目录中仍有另一个包,可能有多种原因:

  • 它可能只是示例代码。
  • 可能是根文件夹包用于调用从 main 构建的二进制文件。以特定方式;即分层文件夹/包结构,其中在项目执行期间倾向于稍后调用的代码被放置在文件夹树的更下方。
  • 它以某种方式在历史上以某种方式演变,不需要紧急改变。
  • 从字面上看,您可以或无法想到的任何特质。

  • 不过,根据经验,命名事物是个好主意,这样人们就不必指定导入别名来导入包。例如。不要放包 foo在名为 bar 的文件夹中.以一种可以复制到浏览器地址栏中以直接访问其存储库概述的方式命名模块也是我看到的一种受到人们欢迎的做法。
    Go 中的包导入路径与其他语言中的命名空间有许多相似之处。随着时间的推移,无论好坏,开发人员和语言都开始使用这种机制,而不仅仅是避免词汇名称冲突。开发人员通常会尝试实现放置代码的逻辑分层文件夹结构。语言广泛使用它来限制方法和字段的可见性。正如您可能猜到的那样,前方是不适合 Stackoverflow 的基于意见的激烈讨论。

    关于go - 将 go 文件放在模块路径上是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63658935/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com