119 lines
3.3 KiB
Go
119 lines
3.3 KiB
Go
/*
|
||
01-hello-world.go - Go 语言入门第一课
|
||
|
||
学习目标:
|
||
1. 了解 Go 程序的基本结构
|
||
2. 理解包(package)的概念
|
||
3. 学会使用 fmt 包进行输出
|
||
4. 掌握 main 函数的作用
|
||
|
||
知识点:
|
||
- package 声明
|
||
- import 导入
|
||
- main 函数
|
||
- fmt.Println 输出函数
|
||
*/
|
||
|
||
// 每个 Go 文件都必须以 package 声明开始
|
||
// main 包是特殊的包,表示这是一个可执行程序
|
||
package main
|
||
|
||
// import 用于导入其他包
|
||
// fmt 包提供了格式化输入输出的功能
|
||
import "fmt"
|
||
|
||
// main 函数是程序的入口点
|
||
// 当运行程序时,会自动执行 main 函数
|
||
func main() {
|
||
// fmt.Println 用于输出文本并自动换行
|
||
fmt.Println("Hello, World!")
|
||
fmt.Println("欢迎来到 Go 语言的世界!")
|
||
|
||
// 你也可以使用 fmt.Print(不换行)或 fmt.Printf(格式化输出)
|
||
fmt.Print("这是 ")
|
||
fmt.Print("同一行的输出\n") // \n 表示换行
|
||
|
||
// fmt.Printf 支持格式化输出,类似于 C 语言的 printf
|
||
name := "Go"
|
||
version := 1.21
|
||
fmt.Printf("我正在学习 %s 语言,版本是 %.2f\n", name, version)
|
||
|
||
// 多种输出方式的演示
|
||
demonstrateOutput()
|
||
}
|
||
|
||
// demonstrateOutput 演示不同的输出方式
|
||
func demonstrateOutput() {
|
||
fmt.Println("\n=== 输出方式演示 ===")
|
||
|
||
// 1. 基本输出
|
||
fmt.Println("1. fmt.Println - 输出并换行")
|
||
|
||
// 2. 不换行输出
|
||
fmt.Print("2. fmt.Print - ")
|
||
fmt.Print("不换行输出")
|
||
fmt.Print("\n") // 手动换行
|
||
|
||
// 3. 格式化输出
|
||
age := 25
|
||
height := 175.5
|
||
isStudent := true
|
||
|
||
fmt.Printf("3. fmt.Printf - 格式化输出:\n")
|
||
fmt.Printf(" 年龄: %d 岁\n", age) // %d 表示整数
|
||
fmt.Printf(" 身高: %.1f cm\n", height) // %.1f 表示保留1位小数的浮点数
|
||
fmt.Printf(" 是学生: %t\n", isStudent) // %t 表示布尔值
|
||
fmt.Printf(" 十六进制年龄: %x\n", age) // %x 表示十六进制
|
||
fmt.Printf(" 八进制年龄: %o\n", age) // %o 表示八进制
|
||
|
||
// 4. 通用格式符 %v
|
||
fmt.Printf("4. 通用格式符 %%v:\n")
|
||
fmt.Printf(" 年龄: %v, 身高: %v, 是学生: %v\n", age, height, isStudent)
|
||
|
||
// 5. 详细格式符 %+v 和 %#v(主要用于结构体)
|
||
person := struct {
|
||
Name string
|
||
Age int
|
||
}{"张三", 30}
|
||
|
||
fmt.Printf("5. 结构体输出:\n")
|
||
fmt.Printf(" %%v: %v\n", person) // 简单格式
|
||
fmt.Printf(" %%+v: %+v\n", person) // 包含字段名
|
||
fmt.Printf(" %%#v: %#v\n", person) // Go 语法格式
|
||
}
|
||
|
||
/*
|
||
运行这个程序:
|
||
1. 在终端中进入 01-basics 目录
|
||
2. 执行命令:go run 01-hello-world.go
|
||
|
||
预期输出:
|
||
Hello, World!
|
||
欢迎来到 Go 语言的世界!
|
||
这是 同一行的输出
|
||
我正在学习 Go 语言,版本是 1.21
|
||
|
||
=== 输出方式演示 ===
|
||
1. fmt.Println - 输出并换行
|
||
2. fmt.Print - 不换行输出
|
||
3. fmt.Printf - 格式化输出:
|
||
年龄: 25 岁
|
||
身高: 175.5 cm
|
||
是学生: true
|
||
十六进制年龄: 19
|
||
八进制年龄: 31
|
||
4. 通用格式符 %v:
|
||
年龄: 25, 身高: 175.5, 是学生: true
|
||
5. 结构体输出:
|
||
%v: {张三 30}
|
||
%+v: {Name:张三 Age:30}
|
||
%#v: struct { Name string; Age int }{Name:"张三", Age:30}
|
||
|
||
学习要点:
|
||
1. Go 程序必须有 package 声明
|
||
2. main 包表示可执行程序
|
||
3. main 函数是程序入口
|
||
4. 使用 import 导入需要的包
|
||
5. fmt 包提供了丰富的输出功能
|
||
6. 注释使用 // 或
|
||
*/ |