Update
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
var globalVar int = 100
|
||||
|
||||
func main() {
|
||||
exercise1()
|
||||
exercise2()
|
||||
exercise3()
|
||||
exercise4()
|
||||
exercise5()
|
||||
}
|
||||
|
||||
// 练习1:标准变量声明
|
||||
// 目标:使用var关键字声明不同类型的变量并初始化
|
||||
func exercise1() {
|
||||
fmt.Println("=== 练习1:标准变量声明 ===")
|
||||
|
||||
// 声明一个string类型变量,命名为name,值为"张三"
|
||||
var name string = "张三"
|
||||
|
||||
// 声明一个int类型变量,命名为age,值为25
|
||||
var age int = 25
|
||||
|
||||
// 使用类型推断声明一个bool类型变量,命名为isStudent,值为true
|
||||
var isStudent bool = true
|
||||
|
||||
fmt.Printf("姓名: %s, 年龄: %d, 是学生: %t\n", name, age, isStudent)
|
||||
}
|
||||
|
||||
// 练习2:短变量声明
|
||||
// 目标:使用:=进行变量声明(只能在函数内使用)
|
||||
func exercise2() {
|
||||
fmt.Println("\n=== 练习2:短变量声明 ===")
|
||||
|
||||
// 使用:=声明一个string变量,命名为city,值为"北京"
|
||||
city := "北京"
|
||||
|
||||
// 使用:=声明一个float64变量,命名为price,值为99.5
|
||||
price := 99.5
|
||||
|
||||
// 使用:=声明多个变量,x=10, y=20, z=30
|
||||
x, y, z := ____
|
||||
|
||||
fmt.Printf("城市: %s, 价格: %.2f, 坐标: (%d, %d, %d)\n", city, price, x, y, z)
|
||||
}
|
||||
|
||||
// 练习3:批量声明
|
||||
// 目标:使用var()批量声明多个变量
|
||||
func exercise3() {
|
||||
fmt.Println("\n=== 练习3:批量声明 ===")
|
||||
|
||||
// 使用var()批量声明以下变量:
|
||||
// username: string = "go_learner"
|
||||
// email: string = "learner@example.com"
|
||||
// level: int = 1
|
||||
// experience: float64 = 0.0
|
||||
var (
|
||||
username ____
|
||||
email ____
|
||||
level ____
|
||||
experience ____
|
||||
)
|
||||
|
||||
fmt.Printf("用户: %s\n邮箱: %s\n等级: %d\n经验值: %.1f\n",
|
||||
username, email, level, experience)
|
||||
}
|
||||
|
||||
// 练习4:变量作用域
|
||||
// 目标:理解全局变量和局部变量的作用域
|
||||
func exercise4() {
|
||||
fmt.Println("\n=== 练习4:变量作用域 ===")
|
||||
|
||||
// 直接打印全局变量globalVar的值
|
||||
fmt.Printf("全局变量 globalVar 的值: %d\n", ____)
|
||||
|
||||
// 声明一个局部变量,命名为localVar,值为50
|
||||
localVar := ____
|
||||
|
||||
fmt.Printf("局部变量 localVar 的值: %d\n", localVar)
|
||||
}
|
||||
|
||||
// 练习5:作用域遮蔽
|
||||
// 目标:理解内层代码块变量如何遮蔽外层变量
|
||||
func exercise5() {
|
||||
fmt.Println("\n=== 练习5:作用域遮蔽 ===")
|
||||
|
||||
// 外层变量
|
||||
outer := "我是外层变量"
|
||||
|
||||
if true {
|
||||
// 在if代码块内声明一个同名的变量,值为"我是内层变量"
|
||||
// 这会遮蔽外层的outer变量
|
||||
outer := ____
|
||||
|
||||
fmt.Printf("代码块内: %s\n", outer)
|
||||
}
|
||||
|
||||
fmt.Printf("代码块外: %s\n", outer)
|
||||
}
|
||||
Reference in New Issue
Block a user