0

0

Golang第一个程序HelloWorld编写与运行_go run命令入门

P粉602998670

P粉602998670

发布时间:2026-03-02 13:43:58

|

202人浏览过

|

来源于php中文网

原创

go run 要求文件必须在 package main 包中且含 func main(),仅当前目录下 .go 文件有效,不递归子目录,不生成可执行文件,中文路径或空格需规避。

golang第一个程序helloworld编写与运行_go run命令入门

Go 程序必须放在 main 包里才能用 go run 运行

你写完 hello.go 却执行报错 no Go files in current directory 或直接静默退出?大概率是包声明不对。go run 只认 package main,且文件里必须有 func main()。其他包名(比如 package hello)会被忽略。

  • package main 是硬性要求,不是约定;写成 package main1 或漏掉都不行
  • 文件里不能只有 fmt.Println("Hello") 而没包声明和 main 函数
  • 如果项目里混了测试文件(*_test.go),go run 默认不执行它们,但会报错说“multiple packages”,这时得显式指定文件:go run main.go

go run 不能跨目录直接运行子文件夹里的 main.go

你在 ./cmd/hello/main.go 写好了程序,但在项目根目录下敲 go run cmd/hello 却提示 no buildable Go source files?因为 go run 默认只扫描当前目录下的 .go 文件,不递归子目录,也不自动识别子目录为包路径。

  • 正确做法是进到那个目录再运行:cd cmd/hello && go run main.go
  • 或者显式列出完整路径:go run cmd/hello/main.go(注意不是 cmd/hello/
  • 如果子目录里有多个 .go 文件(比如 main.go + utils.go),必须一起列出来:go run cmd/hello/main.go cmd/hello/utils.go,否则可能报未定义引用

Windows 下中文路径或空格会导致 go run 找不到文件

你在桌面新建了个文件夹叫 我的第一个 Go 程序,里面放了 main.go,结果 go run main.go 报错 no such file or directory —— 很可能是路径编码或 shell 解析问题,尤其在 CMD 或旧版 PowerShell 中。

VisualizeAI
VisualizeAI

用AI把你的想法变成现实

下载
  • 临时解法:把项目移到无中文、无空格的路径,比如 C:\gocode\hello
  • PowerShell 用户可尝试用引号包裹:go run ".\我的第一个 Go 程序\main.go",但不保证 100% 成功
  • 根本规避方式:从一开始就在终端用 mkdir hello && cd hello 创建路径,避免手动拖拽或资源管理器建带空格/中文的文件夹

go run 编译后立刻执行,但不会生成可执行文件

你执行完 go run main.go 看到输出,顺手去当前目录找 main.exe(Windows)或 main(macOS/Linux),发现根本没有——这不是 bug,是设计如此。go run 的作用就是「编译 + 运行 + 清理临时产物」,它不保留二进制。

立即学习go语言免费学习笔记(深入)”;

  • 要生成可执行文件,改用 go buildgo build -o hello main.go
  • go run 每次都重新编译,适合快速验证;go build 适合交付或反复运行
  • 注意:如果 main.go 引用了本地相对路径的模块(比如 import "./util"),go run 会失败,因为 Go 1.11+ 默认启用 module 模式,应改用 go mod init 初始化后再导入
事情说清了就结束

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
golang如何定义变量
golang如何定义变量

golang定义变量的方法:1、声明变量并赋予初始值“var age int =值”;2、声明变量但不赋初始值“var age int”;3、使用短变量声明“age :=值”等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

207

2024.02.23

golang有哪些数据转换方法
golang有哪些数据转换方法

golang数据转换方法:1、类型转换操作符;2、类型断言;3、字符串和数字之间的转换;4、JSON序列化和反序列化;5、使用标准库进行数据转换;6、使用第三方库进行数据转换;7、自定义数据转换函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

242

2024.02.23

golang常用库有哪些
golang常用库有哪些

golang常用库有:1、标准库;2、字符串处理库;3、网络库;4、加密库;5、压缩库;6、xml和json解析库;7、日期和时间库;8、数据库操作库;9、文件操作库;10、图像处理库。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

352

2024.02.23

golang和python的区别是什么
golang和python的区别是什么

golang和python的区别是:1、golang是一种编译型语言,而python是一种解释型语言;2、golang天生支持并发编程,而python对并发与并行的支持相对较弱等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

214

2024.03.05

golang是免费的吗
golang是免费的吗

golang是免费的。golang是google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的开源编程语言,采用bsd开源协议。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

407

2024.05.21

golang结构体相关大全
golang结构体相关大全

本专题整合了golang结构体相关大全,想了解更多内容,请阅读专题下面的文章。

428

2025.06.09

golang相关判断方法
golang相关判断方法

本专题整合了golang相关判断方法,想了解更详细的相关内容,请阅读下面的文章。

200

2025.06.10

golang数组使用方法
golang数组使用方法

本专题整合了golang数组用法,想了解更多的相关内容,请阅读专题下面的文章。

1233

2025.06.17

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

43

2026.02.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go 教程
Go 教程

共32课时 | 5.7万人学习

Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号