go --- go run main.go 和 go run .

目录

  • [go run main.go](#go run main.go)
  • [go run .](#go run .)
  • 示例

go run main.go

  • 功能 :只编译和运行指定的文件(main.go),忽略同目录下的其他文件。
  • 适用场景
    • 当你只需要运行一个独立的文件,且该文件不依赖其他文件时。
    • 适合单文件程序或简单的脚本。
  • 限制
    • 如果main.go依赖fun.go中的函数或变量,go run main.go会报错,因为fun.go没有被编译。
    • 无法正确处理多文件项目中的依赖关系。

go run .

  • 功能 :编译并运行当前目录下的所有.go文件。
  • 适用场景
    • 适用于多文件项目,尤其是当多个文件之间存在依赖关系时。
    • 确保所有相关文件都被编译和链接。
  • 优点
    • 能够正确处理文件之间的依赖关系。
    • 更适合实际的项目开发,尤其是模块化开发。

示例

如图,在文件夹open_telemetry中有两个go文件:server1.go和roll.go,且package都是main。

运行go run server1.go时,会报错roll方法找不到,因为此时只编译了server1.go文件。

运行go run .时,服务正常启动,因为此时open_telemetry下的所有文件都被编译了

相关推荐
王码码20354 小时前
Go语言的测试:从单元测试到集成测试
后端·golang·go·接口
王码码20355 小时前
Go语言中的测试:从单元测试到集成测试
后端·golang·go·接口
以神为界5 小时前
Python入门实操:基础语法+爬虫入门+模块使用全指南
开发语言·网络·爬虫·python·安全·web
嵌入式×边缘AI:打怪升级日志5 小时前
使用JsonRPC实现前后台
前端·后端
逻辑驱动的ken5 小时前
Java高频面试题:03
java·开发语言·面试·求职招聘·春招
噜噜大王_6 小时前
深入理解 C 语言内存操作函数:memcpy、memmove、memset、memcmp
c语言·开发语言
广师大-Wzx6 小时前
一篇文章看懂MySQL数据库(下)
java·开发语言·数据结构·数据库·windows·python·mysql
野生技术架构师6 小时前
Java NIO到底是个什么东西?
java·开发语言·nio
小码哥_常6 小时前
从0到1:Spring Boot 中WebSocket实战揭秘,开启实时通信新时代
后端
lolo大魔王6 小时前
Go语言的异常处理
开发语言·后端·golang