第一个Go程序
Hello World程序
创建一个名为 hello.go 的文件:
go
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}代码解释
包声明
go
package main- 每个Go文件必须声明所属的包
main包表示这是一个可执行程序- 可执行程序必须有
main函数作为入口
导入包
go
import "fmt"fmt是Go标准库中的格式化I/O包- 用于打印输出和格式化字符串
主函数
go
func main() {
fmt.Println("Hello, World!")
}main()是程序入口点fmt.Println()打印字符串并换行
运行程序
直接运行
bash
go run hello.go输出:
Hello, World!编译后运行
bash
# 编译
go build hello.go
# 运行(Linux/Mac)
./hello
# 运行(Windows)
hello.exe指定输出文件名
bash
go build -o myapp hello.go
./myapp代码规范
命名规范
- 包名:小写,单个单词
- 变量/函数:驼峰命名,首字母大写表示公开
- 常量:驼峰命名
格式化
使用 go fmt 自动格式化代码:
bash
go fmt hello.go注释
go
// 单行注释
/*
多行注释
可以跨越多行
*/
// Package main 演示Hello World程序
package main
// main 是程序入口点
func main() {
fmt.Println("Hello, World!") // 打印问候语
}扩展示例
go
package main
import (
"fmt"
"os"
"runtime"
)
func main() {
// 获取命令行参数
name := "World"
if len(os.Args) > 1 {
name = os.Args[1]
}
// 打印问候
fmt.Printf("Hello, %s!\n", name)
// 打印系统信息
fmt.Printf("操作系统: %s\n", runtime.GOOS)
fmt.Printf("CPU架构: %s\n", runtime.GOARCH)
fmt.Printf("Go版本: %s\n", runtime.Version())
}运行:
bash
go run hello.go Go语言输出:
Hello, Go语言!
操作系统: windows
CPU架构: amd64
Go版本: go1.21.0