Go语言的Hello World程序非常简洁,展现了Go语言简单易学的特点。Go程序从main包的main函数开始执行。
1
2
3
4
5
6
7
|
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
// 每个Go程序都必须属于一个包
package main
// 导入标准库中的fmt包,用于格式化输出
import "fmt"
// main函数是程序的入口点
func main() {
// 使用fmt.Println输出文本到控制台
fmt.Println("Hello, World!")
// 其他输出方式
fmt.Print("Hello, ")
fmt.Print("Go!\n")
// 格式化输出
name := "Gopher"
fmt.Printf("Hello, %s!\n", name)
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
package main
import "fmt"
func main() {
// 1. Println - 输出后自动换行
fmt.Println("这是第一行")
fmt.Println("这是第二行")
// 2. Print - 输出后不换行
fmt.Print("Hello ")
fmt.Print("World")
fmt.Print("\n") // 手动换行
// 3. Printf - 格式化输出
name := "张三"
age := 25
fmt.Printf("姓名: %s, 年龄: %d\n", name, age)
// 4. 多个值一起输出
fmt.Println("姓名:", name, "年龄:", age)
// 5. 使用占位符
fmt.Printf("我的名字是%s,今年%d岁\n", name, age)
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package main
// 单个导入
import "fmt"
// 或者多个导入(推荐方式)
import (
"fmt"
"os"
"time"
)
func main() {
// 使用fmt包
fmt.Println("Hello from fmt package")
// 使用os包获取环境信息
fmt.Println("操作系统:", os.Getenv("OS"))
// 使用time包
fmt.Println("当前时间:", time.Now())
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package main
import "fmt"
// 这是单行注释
/*
这是多行注释
可以跨越多行
*/
func main() {
// 输出Hello World
fmt.Println("Hello, World!")
/*
这里可以写多行注释
来解释复杂的逻辑
*/
fmt.Println("Go语言学习开始!")
}
|
1
2
3
4
5
6
7
8
9
10
11
|
# 直接运行(推荐用于开发阶段)
go run main.go
# 编译成可执行文件
go build main.go
./main # Linux/Mac
main.exe # Windows
# 编译并指定输出文件名
go build -o hello main.go
./hello
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package main
import "fmt"
func main() {
// 1. Go语言区分大小写
var name = "Go"
var Name = "Golang" // 这是不同的变量
fmt.Println(name, Name)
// 2. 语句不需要分号结尾(Go会自动插入)
fmt.Println("不需要分号")
// 3. 左大括号必须在同一行
if true { // 正确
fmt.Println("大括号在同一行")
}
// 4. 包名通常使用小写
// 5. 导出的函数/变量首字母大写,未导出的首字母小写
fmt.Println("Println是导出的函数(首字母大写)")
}
|
- 包声明:每个Go文件都必须以
package
声明开始
- 导入语句:使用
import
导入需要的包
- main函数:程序执行的入口点,必须在main包中
- 输出函数:
fmt.Println()
- 输出并换行
fmt.Print()
- 输出不换行
fmt.Printf()
- 格式化输出
- 编译运行:
go run
- 直接运行
go build
- 编译成可执行文件
- 语法特点:
- 不需要分号
- 左大括号必须在同一行
- 区分大小写
- 首字母大写表示导出