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下的所有文件都被编译了

相关推荐
再吃一根胡萝卜12 小时前
微服务治理的“四大护法”:从 Django 视角理解 Spring Cloud 核心组件
后端
再吃一根胡萝卜12 小时前
面试终极挑战:如何用 Django 经验,回答 Java 微服务实战问题?
后端
必须会一定会13 小时前
Agent Plugins 1.0实战:plugin.json、skills、mcp.json目录结构与迁移
开发语言·人工智能·ai编程
To_OC13 小时前
装完 ESLint 它一声不吭?我还以为代码写得多好
后端·node.js·eslint
St_rive13 小时前
Page Object设计模式
java·开发语言·设计模式
wp123_113 小时前
硬件元器件笔记|IPX8 防水 Type‑C 母座安费诺 124018802112A 与 TONEVEE TY48086‑24A 分析
c语言·开发语言·笔记
wuyk55513 小时前
4.树:一对多的层次数据结构
开发语言·数据结构·stm32·单片机
凤山老林14 小时前
精细化流量治理:Spring Boot 动态特性开关与灰度发布体系
java·spring boot·后端
luj_176814 小时前
桥牌思维启示:系统设计的模块化架构
c语言·开发语言·c++·经验分享·算法
vipbic14 小时前
一个前端的 9 天重构:我是怎么用 Codex 重做航栈的
前端·javascript·后端