Go语言基础语法笔记
1.变量定义
Go语言支持多种变量定义方式:
import "fmt"
func main() {
// 1. 标准声明
var a int = 10
fmt.Println(a)
// 2. 类型推导
var b = 20
fmt.Println(b)
// 3. 简短声明(只能在函数内部使用)
c := 30
fmt.Println(c)
// 4. 声明多个变量
var x, y, z int = 1, 2, 3
fmt.Println(x, y, z)
// 5. 多类型变量声明
var (
d int = 40
e string = "hello"
)
fmt.Println(d, e)
}
2.for循环语句
Go语言中的 for 循环可以用来替代其他语言中的 while 和 do-while:
import "fmt"
func main() {
// 1. 经典 for 循环
for i := 0; i < 5; i++ {
fmt.Println("i:", i)
}
// 2. 省略初始化和递增表达式
j := 0
for j < 3 {
fmt.Println("j:", j)
j++
}
// 3. 无限循环
count := 0
for {
if count == 3 {
break
}
fmt.Println("Infinite loop, count:", count)
count++
}
}
3.if语句
if 语句支持简单的条件判断,也可以在条件中声明变量:
import "fmt"
func main() {
x := 10
// 基本使用
if x > 5 {
fmt.Println("x 大于 5")
}
// 带初始化语句
if y := 15; y > 10 {
fmt.Println("y 大于 10")
} else {
fmt.Println("y 小于等于 10")
}
}
4.条件分支
switch 语句可以替代多个 if-else 语句,支持多种匹配方式:
import "fmt"
func main() {
// 基本 switch
day := 3
switch day {
case 1:
fmt.Println("星期一")
case 2:
fmt.Println("星期二")
case 3:
fmt.Println("星期三")
default:
fmt.Println("未知的星期")
}
// 一个 case 匹配多个值
char := 'a'
switch char {
case 'a', 'e', 'i', 'o', 'u':
fmt.Println("元音")
default:
fmt.Println("辅音")
}
// 不带表达式的 switch
num := 8
switch {
case num < 5:
fmt.Println("小于 5")
case num < 10:
fmt.Println("小于 10")
default:
fmt.Println("10 或以上")
}
}
5.数组
数组是固定长度的相同类型元素的集合:
import "fmt"
func main() {
// 1. 声明并初始化数组
var arr1 [5]int = [5]int{1, 2, 3, 4, 5}
fmt.Println(arr1)
// 2. 简短方式初始化
arr2 := [3]string{"Go", "Rust", "Python"}
fmt.Println(arr2)
// 3. 省略长度,让编译器自动推导
arr3 := [...]float64{3.14, 2.71, 1.61}
fmt.Println(arr3)
// 4. 访问和修改数组元素
arr1[0] = 10
fmt.Println("修改后的 arr1:", arr1)
// 5. 遍历数组
for i, v := range arr2 {
fmt.Printf("索引: %d, 值: %s\n", i, v)
}
}
小结
- 变量支持多种声明方式,灵活简洁。
- for 是 Go 唯一的循环语句,可以实现多种循环模式。
- if 支持条件判断并允许在条件内声明变量。
- switch 可以高效地处理多条件分支,简化代码。
- 数组 是固定长度的集合,支持基本操作和遍历。
Go语言的基础语法简洁明了,尤其适合初学者上手。