如何用Golang实现第一个Hello World项目_Golang新手入门实战示例

发布时间 - 2026-01-31 00:00:00    点击率:
只需两行代码即可运行Go程序:package main和fmt.Println("Hello, World!"),用go run hello.go执行,无需配置环境变量或初始化模块。

直接用 go run 就能跑通,不需要配置环境变量或新建项目目录——只要你已安装 Go(1.16+),hello.go 文件里只写两行代码就足够。

创建并运行 hello.go 文件

在任意目录下新建文本文件,命名为 hello.go,内容如下:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

然后终端执行:

go run hello.go

你会立刻看到输出:Hello, World!。注意三点:

  • package main 是可执行程序的固定包名,不能写成 package hello
  • func main() 必须小写,且不能带参数、不能有返回值,否则 go run 会报 cannot run non-main packagefunc main must have no arguments and no return values
  • fmt.Println 结尾有 n,漏掉会不换行,但不会报错——容易误以为没输出

为什么不用 go mod init?

新手常被教程误导,一上来就 go mod init example.com/hello。其实:go run 对单文件无模块依赖时完全跳过模块系统;只有当你引入本地包、第三方包,或后续要 go build 成二进制时,才需要 go mod init。过早初始化反而可能因 GOPROXY 或网络问题卡住。

如果你确实想初始化模块(比如为后续加依赖做准备),只需确保当前目录为空或仅含 hello.go,再运行:

go mod init hello

它会生成 go.mod,内容极简:

module hello

go 1.21

此时再 go run hello.go 依然正常——模块只是为依赖服务,不改变单文件执行逻辑。

常见报错与对应修复

遇到运行失败?大概率是下面这几个原因:

  • command not found: go:Go 未加入 $PATH,检查安装后是否重启终端,或手动执行 /usr/local/go/bin/go version 确认路径
  • no required module provides package fmt:几乎不可能出现——fmt 是标准库,只要 Go 装对了就一定存在;若真出现,说明 Go 安装损坏,重装即可
  • 终端没反应 / 空白输出:检查是否误用了 fmt.Print(无换行)且终端滚动太快;或文件编码是 UTF-8 with BOM(Windows 记事本常见),改用 VS Code 或 vim 保存为纯 UTF-8
  • undefined: Println:大小写写错,比如 printLnprintln,Go 区分大小写,必须是 Println

真正卡住新手的,往往不是语法,而是编辑器自动保存了隐藏字符、终端缓存了旧二进制、或者复制代码时带入了全角空格——建议所有代码手敲一遍,别复制。


# go  # windows  # golang  # 编码  # ai  # proxy  # 环境变量  # win  # vs code  # 网络问题  # 标准库  # 为什么  # print  # undefined  # bom  # vim  # 只需  # 全角  # 报错  # 会报  # 两行  # 换行  # 如果你  # 就能  # 你会  # 不需要 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 详解jQuery停止动画——stop()方法的使用  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  微信小程序制作网站有哪些,微信小程序需要做网站吗?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  C语言设计一个闪闪的圣诞树  Laravel观察者模式如何使用_Laravel Model Observer配置  IOS倒计时设置UIButton标题title的抖动问题  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  如何彻底删除建站之星生成的Banner?  Laravel如何自定义分页视图?(Pagination示例)  Python3.6正式版新特性预览  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  如何确保FTP站点访问权限与数据传输安全?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  利用 Google AI 进行 YouTube 视频 SEO 描述优化  网站制作企业,网站的banner和导航栏是指什么?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  C#如何调用原生C++ COM对象详解  微信小程序 require机制详解及实例代码  Laravel如何保护应用免受CSRF攻击?(原理和示例)  企业网站制作这些问题要关注  Laravel如何使用.env文件管理环境变量?(最佳实践)  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  Swift中switch语句区间和元组模式匹配  高端云建站费用究竟需要多少预算?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  如何快速搭建高效WAP手机网站?  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  郑州企业网站制作公司,郑州招聘网站有哪些?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  动图在线制作网站有哪些,滑动动图图集怎么做?  如何在 Pandas 中基于一列条件计算另一列的分组均值  如何利用DOS批处理实现定时关机操作详解  如何快速上传建站程序避免常见错误?  如何在云主机快速搭建网站站点?  原生JS获取元素集合的子元素宽度实例  如何挑选最适合建站的高性能VPS主机?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  nodejs redis 发布订阅机制封装实现方法及实例代码  Bootstrap整体框架之CSS12栅格系统  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?