Go语言基础语法 | 青训营

44 阅读3分钟

基础语法

变量声明

在 Go 语言中,使用 var 关键字来声明变量。例如,下面的代码声明了一个类型为 int 的变量 x

var x int

变量可以在声明时进行初始化,也可以在之后进行赋值。例如:

var y int = 5
x = 10

还可以使用 := 运算符来进行声明和初始化操作,例如:

z := 7

这行代码声明了一个类型为 int 的变量 z,并将其初始化为 7

数据类型

Go 语言支持多种数据类型,包括基本数据类型和复合数据类型。下面是一些基本数据类型的示例:

  • int:整数类型,可以是有符号或无符号的。
  • float32 和 float64:浮点数类型,分别表示单精度和双精度浮点数。
  • bool:布尔类型,表示真或假。
  • string:字符串类型。
    下面是一些复合数据类型的示例:
  • array:数组类型,表示固定长度的同类型元素序列。
  • slice:切片类型,表示可变长度的同类型元素序列。
  • map:字典类型,表示键值对的无序集合。
  • struct:结构体类型,表示多个字段的聚合体。
  • interface:接口类型,表示一组方法的集合。

函数

函数是 Go 语言中的重要组成部分。使用 func 关键字来定义函数,例如:

func add(x, y int) int {
    return x + y
}

这个函数接受两个 int 类型的参数,并返回它们的和。函数可以有多个返回值,例如:

func swap(x, y int) (int, int) {
    return y, x
}

这个函数接受两个 int 类型的参数,并返回它们的交换结果。

控制流语句

Go 语言支持多种控制流语句,包括条件语句、循环语句和跳转语句。下面是一些示例:

  • if:条件语句,用于根据条件执行不同的代码块。例如:

    if x > 5 {
        fmt.Println("x is greater than 5")
    } else {
        fmt.Println("x is less than or equal to 5")
    }
    ```
    
  • for:循环语句,用于重复执行某个代码块。例如:

    for i := 0; i < 10; i++ {
        fmt.Println(i)
    }
    ```
    
  • switch:条件语句,用于根据变量的值执行不同的代码块。例如:

    switch x {
    case 1:
        fmt.Println("x is 1")
    case 2:
        fmt.Println("x is 2")
    default:
        fmt.Println("x is not 1 or 2")
    }
    ```
    
  • break 和 continue:跳转语句,用于控制循环的执行流程。break 用于跳出循环,continue 用于跳过本次循环。例如:

    for i := 0; i < 10; i++ {
        if i == 5 {
            break
        }
        if i%2 == 0 {
            continue
        }
        fmt.Println(i)
    }
    ```
    

数组和切片:

Go 语言提供了数组和切片两种数据类型,其中切片是动态数组。例如:

// 声明一个长度为 3 的整型数组
var arr [3]int
arr[0] = 1
arr[1] = 2
arr[2] = 3

// 声明一个长度为 3 的整型切片
var slice []int = []int{1, 2, 3}

指针:

Go 语言支持指针,可以使用 & 和 * 运算符来获取和访问指针。例如:

// 声明一个整型变量 x
var x int = 10

// 声明一个指向整型变量 x 的指针 p
var p *int = &x

// 访问指针 p 所指向的值
fmt.Println(*p) // 输出 10

总结

从一些基础的语法上看,与C语言和Python语言会更接近一些,学习要保证持续性,加油!