Go语言的用法详解 day2|青训营

134 阅读3分钟

1、Go语言的控制结构

Go语言中的控制结构用于控制程序的执行流程,包括条件控制和循环控制。下面是对Go语言中常用的控制结构进行详细解释: Go的控制结构包括if语句、for语句和switch语句三种。具体可分为条件控制和循环控制。

  1. 条件控制:
  • if 语句:用于根据条件执行不同的代码块。可以带有可选的 else 分支
if xx {
    // 满足条件时执行的代码
} else {
    // 不满足条件时执行的代码
}

注意:和Java不同,if后面不带括号()

  • switch 语句:根据表达式的值选择执行不同的分支。每个分支以 case 开始,并且可以带有多个条件。
switch expression {
case value1:
    // expression 的值等于 value1 时执行的代码
case value2:
    // expression 的值等于 value2 时执行的代码
default:
    // 当上述条件都不满足时执行的代码
}
  1. 循环控制:
  • for 循环:用于重复执行一段代码块。可以通过 for 关键字来定义一个基本的循环,也可以使用 range 关键字迭代数组、切片、映射等数据结构。
// 基本的 for 循环
for initialization; condition; post {
    // 在每次循环迭代时执行的代码
}

// 使用 range 迭代数据结构
for index, value := range collection {
    // 使用 index 和 value 执行循环体中的代码
}

其中还可穿插使用break语句和continue语句。
break关键字用于立即退出当前循环。
continue关键字:用于跳过本次循环迭代,继续执行下一次循环迭代。

2、Go语言的数组,切片和结构体

在Go语言中,数组(Arrays),切片(Slices)和结构体(Structures)都是用于存储和操作数据的重要概念。

  1. 数组(Arrays):
    数组是一种固定长度且类型相同的数据结构,在声明时需要指定数组的长度。数组的长度是数组类型的一部分,因此不能改变。可以使用索引访问和修改数组中的元素。
    在Go语言中,数组的声明方式为:
var arr [n] x

其中,n表示数组的长度,x表示数组中元素的数据类型。 例如,以下代码声明了一个长度为3的整型数组:

var nums [3]int

可以通过下标访问数组的元素。

  1. 切片(Slices):
    切片是对数组的一个动态长度的引用,可以自动扩容。 切片是一个三元素结构体,包含指向底层数组的指针、切片的长度和切片的容量。 可以使用切片表达式来获取子切片。
var s []int // 声明一个切片

nums := []int{1, 2, 3}
  1. 结构体(Structures):
    结构体是一种自定义的复合数据类型,可以包含不同类型的字段。 结构体的字段可以通过字段名进行访问和修改。 可以通过new关键字来创建结构体。
type structName struct {
    x int
    y int
}

这段代码定义了一个包含两个整型字段的结构体

3、总结:

在我看来,学习Go语言控制结构需要掌握以下几个关键点: 条件语句:if-else结构是Go语言中最基本的条件语句。 循环语句:for循环和range结构是Go语言中的两种主要循环语句。break语句可以用于跳出循环或switch结构,continue语句可以用于跳过当前循环迭代,而goto语句则可以跳转到程序中的任意位置。 总之,掌握Go语言的控制结构是成为优秀程序员的必经之路。只有通过持续实践和积累经验,我们才能更好地掌握这门编程语言,并实现更复杂的程序逻辑。