Go 语言基础语法Part1 | 豆包MarsCode AI刷题

85 阅读1分钟

本文主要介绍以下GO语言的使用方法:

  • 变量定义
  • 分支if和switch
  • 循环for
  • 数组array
  • slice

1. 变量定义

Go 语言使用 var 关键字定义变量,也支持短变量声明。

  • 基本定义

    var name string = "Go"
    var age int = 5
    var price float64 = 9.99
    
  • 类型推导:不显式指定类型时,Go 自动推导类型。

    var title = "Golang"
    
  • 短变量声明(仅限于函数内部):

    count := 10
    

2. 分支 ifswitch

  • if 语句

    if age >= 18 {
        fmt.Println("Gooooooooooo")
    } else if age >= 13 {
        fmt.Println("Teenager")
    } else {
        fmt.Println("Child")
    }
    
  • if 带初始化语句:在条件判断前进行变量初始化。

    if score := 85; score > 90 {
        fmt.Println("Excellent")
    }
    
  • switch 语句

    switch day := 3; day {
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    default:
        fmt.Println("Other day")
    }
    
  • 无条件 switch:省略表达式可实现多条件匹配。

    switch {
    case age >= 18:
        fmt.Println("Adult")
    case age >= 13:
        fmt.Println("Teenager")
    default:
        fmt.Println("Child")
    }
    

3. 循环 for

Go 中唯一的循环是 for,用法多样化。

  • 标准循环

    for i := 0; i < 5; i++ {
        fmt.Println(i)
    }
    
  • 省略初始化和后置语句

    i := 0
    for i < 5 {
        fmt.Println(i)
        i++
    }
    
  • 无限循环

    for {
        fmt.Println("Looping...")
    }
    

4. 数组 array

数组是固定长度、元素类型相同的集合。

  • 数组定义

    var arr [5]int
    arr[0] = 1
    arr[1] = 2
    
  • 数组初始化

    arr := [5]int{1, 2, 3, 4, 5}
    
  • 自动推断长度

    arr := [...]int{1, 2, 3, 4, 5}
    

5. 切片 slice

切片是动态数组,可变长度,常用于存储同类型数据。

  • 创建切片

    var s []int             // 声明切片
    s = make([]int, 5, 10)  // 长度5,容量10
    
  • 使用数组生成切片

    arr := [5]int{1, 2, 3, 4, 5}
    s := arr[1:4] // 切片包含索引1到3的元素
    
  • 追加元素

    s := []int{1, 2, 3}
    s = append(s, 4, 5)
    
  • 切片拷贝

    s1 := []int{1, 2, 3}
    s2 := make([]int, len(s1))
    copy(s2, s1)