Skip to content

第一个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