Go语言的基础语法|青训营

87 阅读3分钟

1. 前言

本篇笔记记录了 Go 语言的基础语法,介绍一些重要的概念和语法特性。除了基础知识点的讲解,我会加入个人思考和分析的原创内容,以便更好地理解和应用这门语言。

2. 变量与数据类型

2.1 变量声明与赋值

在 Go 中,我们使用关键字 var 来声明变量。例如:

var a int

这样就声明了一个名为 a 的整数型变量。我们也可以在声明时进行赋值:

var b string = "Hello, World!"

这样就声明了一个名为 b 的字符串型变量,并将其初始化为 "Hello, World!"。

Go 语言还提供了简化变量声明的方式,使用 := 运算符进行变量赋值:

c := 42

这样就创建了一个名为 c 的整数型变量,其值为 42。

2.2 数据类型

Go 语言具有丰富的数据类型,包括整数、浮点数、字符串、布尔值等。下面是一些常用的数据类型及其示例:

  • 整数类型:intint64uint8 等;
  • 浮点数类型:float32float64
  • 字符串类型:string
  • 布尔类型:bool

我们可以通过字面量来初始化不同类型的变量,例如:

var age int = 20
var score float64 = 95.5
var name string = "Alice"
var isStudent bool = true

2.3 类型转换

在 Go 中,如果需要将一个类型转换为另一个类型,我们使用显式的类型转换。例如,将一个整数类型转换为浮点数类型:

var a int = 10
var b float64 = float64(a)

这样就将整数变量 a 转换为浮点数类型赋值给变量 b

需要注意的是,在类型转换过程中可能会丢失精度或引发运行时错误,所以请谨慎使用类型转换。

3. 控制流程

3.1 条件语句

在 Go 中,我们使用 if 来实现条件判断。语法如下:

if condition {
    // 条件成立时执行的代码
} else {
    // 条件不成立时执行的代码
}

我们还可以使用 else if 来添加更多的条件判断分支。例如:

if age < 18 {
    fmt.Println("未成年人")
} else if age >= 18 && age < 60 {
    fmt.Println("成年人")
} else {
    fmt.Println("老年人")
}

3.2 循环语句

Go 语言提供了 for 循环来实现重复执行的逻辑。常用的有以下几种方式:

  • for i := 0; i < n; i++ {}:基本的 for 循环,执行固定次数的循环;
  • for condition {}:相当于 while 循环,当条件成立时一直执行;
  • for {}:无限循环,需要在循环体内部添加跳出条件。

例如,使用 for 循环打印从 1 到 10 的数字:

for i := 1; i <= 10; i++ {
    fmt.Println(i)
}

3.3 分支语句

分支语句主要包括 switchselect

  • switch:用于根据不同的条件执行不同的代码块。示例如下:
switch day {
case "Monday":
    fmt.Println("星期一")
case "Tuesday":
    fmt.Println("星期二")
case "Wednesday":
    fmt.Println("星期三")
default:
    fmt.Println("其他")
}
  • select:用于选择可用的通信操作。它类似于 switch,但用于通信操作。示例如下:
select {
case <-ch1:
    fmt.Println("ch1 可读")
case data := <-ch2:
    fmt.Println("接收到 ch2 发送的数据:", data)
default:
    fmt.Println("没有可用的通信操作")
}

4. 函数

在 Go 中,函数是一种重要的代码组织方式。我们可以使用关键字 func 来定义函数。例如:

func add(a, b int) int {
    return a + b
}

上述代码定义了一个名为 add 的函数,它接收两个整数参数并返回它们的和。

另外,Go 语言还支持多返回值的函数。例如:

func divmod(a, b int) (int, int) {
    return a / b, a % b
}

上述代码定义了一个名为 divmod 的函数,它接收两个整数参数,并返回它们的商和余数。

5. 总结

通过本篇笔记,我们了解了 Go 语言的基础语法。我们学习了变量的声明与赋值、数据类型、控制流程(条件语句、循环语句、分支语句)以及函数的定义。