青训营笔记|Go语言入门

58 阅读2分钟

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 循环可以用来替代其他语言中的 whiledo-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)
    }
}

小结

  1. 变量支持多种声明方式,灵活简洁。
  2. for 是 Go 唯一的循环语句,可以实现多种循环模式。
  3. if 支持条件判断并允许在条件内声明变量。
  4. switch 可以高效地处理多条件分支,简化代码。
  5. 数组 是固定长度的集合,支持基本操作和遍历。

Go语言的基础语法简洁明了,尤其适合初学者上手。