• Golang编译-如何忽略某些文件去编译


    在 Go 语言中,编译好的二进制文件不会被再次加入到编译过程中。Go 编译器只会编译源代码文件(如 .go 文件),而不会将已经编译好的二进制文件(如可执行文件或静态库)作为输入来进行编译。

    详细解释:

    1. 编译流程:

      • Go 编译器从指定的源代码文件(.go 文件)中读取代码,并生成中间代码,然后生成最终的二进制可执行文件。
      • 生成的二进制文件是最终的产物,不会作为输入再次被编译。
    2. 生成的二进制文件:

      • 当你运行 go build 命令时,Go 会生成一个二进制文件(在 Unix-like 系统上通常没有扩展名,在 Windows 上是 .exe 文件)。
      • 这个二进制文件是完整的可执行文件,包含所有需要的代码和依赖项。它是独立的产物,已经与编译过程无关。
    3. 防止意外编译:

      • 如果你不小心将编译生成的二进制文件保存在源代码目录下,Go 编译器会自动忽略它们,因为它只会寻找源代码文件来编译。
      • 例如,如果你在项目根目录下运行 go build,编译生成的可执行文件不会干扰未来的编译过程。

    示例:

    假设你有以下目录结构:

     
    

    plaintext

    复制代码

    project/ ├── main.go ├── utils.go ├── main # 编译生成的二进制文件 └── some_other.go

    在这个结构中,main 是通过编译生成的二进制文件。再次运行 go build 时,Go 编译器会:

    • 只读取 main.go、utils.go 和 some_other.go 文件进行编译。
    • 忽略 main 二进制文件。

    总结

    • Go 编译器不会将编译好的二进制文件作为编译过程的输入。
    • 编译时只会考虑源代码文件(.go 文件)。
    • 生成的二进制文件与后续的编译过程无关,且不会影响编译。

    这意味着在项目中,生成的二进制文件可以安全地留在目录中,而不会意外被再次编译。

    4o

  • 相关阅读:
    算法趣题-Q34
    python读取表格数据xlrd
    win11显示文件后缀
    洛谷【入门4】数组-P1428 小鱼比可爱
    宗老师计算机教学-大型集群开发基础知识
    22、接口与抽象类、匿名类的介绍
    【办公类-04-03】华为助手导出照片视频分类(根据图片、视频的文件名日期分类导出)
    R--基础知识总结
    LeetCode 1417. 重新格式化字符串
    纯血鸿蒙APP实战开发——阅读翻页方式案例
  • 原文地址:https://blog.csdn.net/qq_21514303/article/details/141062346