Go语言入门(条件语句和循环语句)
- 目录
 - 四、条件语句和循环语句
 - 1. 条件语句
 - 1.1 if 语句
 - 1.2 if-else 语句
 - 1.3 if-else if-else 语句
 - 1.4 带初始化语句的 if
 - 1.5 switch 语句
 - 1.6 带条件的 switch
 - 1.7 多个条件的 case
 
- 2. 循环语句
 - 2.1 基本 for 循环
 - 2.2 省略初始化语句和后置语句的 for 循环
 - 2.3 无限循环
 - 2.4 使用 range 的 for 循环
 
- 3. 控制语句
 - 3.1 break 语句
 - 3.2 continue 语句
 - 3.3 goto 语句
 
目录
Go 语言(Golang)是一种静态类型、编译型语言,由 Google 开发,专注于简洁性、并发和高效性。
下面是 Go 语言的基础语法讲解和代码示例。
上一篇:三、Go语言入门(运算符)
四、条件语句和循环语句
Go 语言中,条件语句和循环语句是控制程序流的基本结构。通过这些语句,可以实现不同的逻辑分支和重复操作。下面详细讲解 Go 语言中的条件语句和循环语句,并提供代码示例。
1. 条件语句
1.1 if 语句
if 语句用于条件判断。基本语法如下:
if condition {
    // 当 condition 为 true 时执行
}
 
package main
import "fmt"
func main() {
    age := 20
    if age >= 18 {
        fmt.Println("You are an adult.")
    }
}
 
1.2 if-else 语句
if-else 语句用于在条件为 false 时执行另一个分支。
package main
import "fmt"
func main() {
    age := 16
    if age >= 18 {
        fmt.Println("You are an adult.")
    } else {
        fmt.Println("You are a minor.")
    }
}
 
1.3 if-else if-else 语句
if-else if-else 语句用于多个条件判断。
package main
import "fmt"
func main() {
    score := 85
    if score >= 90 {
        fmt.Println("Grade: A")
    } else if score >= 80 {
        fmt.Println("Grade: B")
    } else if score >= 70 {
        fmt.Println("Grade: C")
    } else if score >= 60 {
        fmt.Println("Grade: D")
    } else {
        fmt.Println("Grade: F")
    }
}
 
1.4 带初始化语句的 if
if 语句支持在条件判断之前执行一个简单的语句。这个语句的作用域仅限于 if 语句块。
package main
import "fmt"
func main() {
    if x := 10; x > 5 {
        fmt.Println("x is greater than 5")
    }
    // fmt.Println(x) // 这里不能访问 x,因其作用域仅限于 if 语句块
}
 
1.5 switch 语句
switch 语句用于简化多个条件判断。每个 case 分支会自动终止,除非使用 fallthrough 关键字。
package main
import "fmt"
func main() {
    day := 3
    switch day {
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    case 3:
        fmt.Println("Wednesday")
    case 4:
        fmt.Println("Thursday")
    case 5:
        fmt.Println("Friday")
    default:
        fmt.Println("Weekend")
    }
}
 
1.6 带条件的 switch
switch 语句可以不带表达式,这时每个 case 都是一个独立的条件判断。
package main
import "fmt"
func main() {
    num := -10
    switch {
    case num < 0:
        fmt.Println("Number is negative")
    case num == 0:
        fmt.Println("Number is zero")
    case num > 0:
        fmt.Println("Number is positive")
    }
}
 
1.7 多个条件的 case
一个 case 分支可以包含多个条件,用逗号分隔。
package main
import "fmt"
func main() {
    char := 'a'
    switch char {
    case 'a', 'e', 'i', 'o', 'u':
        fmt.Println("Vowel")
    default:
        fmt.Println("Consonant")
    }
}
 
2. 循环语句
for 是 Go 唯一的循环语句,可以实现各种循环结构。
2.1 基本 for 循环
for 循环包括初始化语句、条件表达式和后置语句。
package main
import "fmt"
func main() {
    for i := 0; i < 5; i++ {
        fmt.Println(i)
    }
}
 
2.2 省略初始化语句和后置语句的 for 循环
可以省略 for 循环的初始化语句和后置语句。
package main
import "fmt"
func main() {
    i := 0
    for i < 5 {
        fmt.Println(i)
        i++
    }
}
 
2.3 无限循环
省略条件表达式,可以创建一个无限循环。
package main
import "fmt"
func main() {
    i := 0
    for {
        fmt.Println(i)
        i++
        if i >= 5 {
            break
        }
    }
}
 
2.4 使用 range 的 for 循环
range 关键字可以用来迭代数组、切片、字符串、映射和通道。
package main
import "fmt"
func main() {
    // 迭代数组
    arr := [5]int{1, 2, 3, 4, 5}
    for index, value := range arr {
        fmt.Println("Index:", index, "Value:", value)
    }
    // 迭代字符串
    str := "hello"
    for index, char := range str {
        fmt.Println("Index:", index, "Char:", char)
    }
    // 迭代映射
    m := map[string]int{"a": 1, "b": 2}
    for key, value := range m {
        fmt.Println("Key:", key, "Value:", value)
    }
}
 
3. 控制语句
break 和 continue 用于控制循环的执行。
3.1 break 语句
break 用于终止循环。
package main
import "fmt"
func main() {
    for i := 0; i < 10; i++ {
        if i == 5 {
            break
        }
        fmt.Println(i)
    }
}
 
3.2 continue 语句
continue 用于跳过当前迭代,继续下一次迭代。
package main
import "fmt"
func main() {
    for i := 0; i < 10; i++ {
        if i%2 == 0 {
            continue
        }
        fmt.Println(i)
    }
}
 
3.3 goto 语句
Go 语言还支持 goto 语句用于无条件跳转,尽量避免使用 goto,以保持代码的可读性和可维护性。
package main
import "fmt"
func main() {
    i := 0
Loop:
    fmt.Println(i)
    i++
    if i < 5 {
        goto Loop
    }
}
 
通过理解条件语句和循环语句,可以编写逻辑复杂且结构清晰的 Go 语言程序。这些控制结构是编程中不可或缺的部分,掌握它们将极大提升你的编程能力。
下一篇:五、Go语言入门(数组、切片和指针)







![[协议]stm32读取AHT20程序示例](https://img-blog.csdnimg.cn/direct/f69b871d85574f4d8eb3fdaa3cf00716.png)







![虚拟化技术[1]之服务器虚拟化](https://img-blog.csdnimg.cn/direct/ea6fe95ceaa94b96aa65f3d4e2681b97.png)




