【GO语言基础】控制流

系列文章目录

【Go语言学习】ide安装与配置
【GO语言基础】前言
【GO语言基础】变量常量
【GO语言基础】数据类型
【GO语言基础】控制流



条件语句

if-else 结构

//if结构
if condition {
    
      
    // 执行代码块  
}

//if else结构
if condition {
    
      
    // 执行代码块1  
} else {
    
      
    // 执行代码块2  
}

if结构
if 语句:用于根据条件执行代码块

package main

import "fmt"

func main() {
    
    
	var a int = 7
	var b int = 6
	if a > b {
    
    
		fmt.Println("a较大")
	}
}

if else结构
else 语句:与 if 语句一起使用,当 if 的条件不满足时执行。

package main

import "fmt"

func main() {
    
    
	var a int = 7
	var b int = 6
	if a > b {
    
    
		fmt.Println("a较大")

	} else {
    
    
		fmt.Println("b较大")
	}

}

在这里插入图片描述

判断一个字符串是否为空:

1.if str == “”

str := "Hello, World!"
if str == "" {
    
    
    fmt.Println("字符串为空")
} else {
    
    
    fmt.Println("字符串不为空")
}

2.len(str)==0

str := "Hello, World!"
if len(str) == 0 {
    
    
    fmt.Println("字符串为空")
} else {
    
    
    fmt.Println("字符串不为空")
}

switch结构

switch 语句:用于根据表达式的值选择执行不同的代码块。
Go的switch语句与其他语言有些不同,不需要显式添加break语句,它会自动终止执行。

switch expression {
    
      
    case value1:  
        // 执行代码块1  
    case value2:  
        // 执行代码块2  
    default:  
        // 执行默认代码块  
}
package main

import "fmt"

func main() {
    
    
	var a int = 58

	switch true {
    
    
	case a > 50:
		fmt.Println("a在50-100之间")
	case a > 100:
		fmt.Println("a的值大于100")
	}
}

在这里插入图片描述

循环结构

for 循环(C风格):

for 循环:用于重复执行一段代码块,通常用于迭代。
初始化、条件、后续操作。

结构:

for 初始化; 条件; 后续操作 {
    
      
    // 执行循环体代码  
}

示例:

package main

import "fmt"

func main() {
    
    
	//打印1到10
	for i := 1; i <= 10; i++ {
    
    
		fmt.Println(i)
	}
}

for-range循环

for-range 循环:用于迭代数组、切片、字符串、映射等数据结构的元素。

package main

import "fmt"

func main() {
    
    
    // 创建一个整数切片
    numbers := []int{
    
    1, 2, 3, 4, 5}

    // 使用for range遍历切片,并打印每个元素的值
    for index, value := range numbers {
    
    
        fmt.Printf("Index: %d, Value: %d\n", index, value)
    }
}

在这里插入图片描述

控制语句

break 语句:用于跳出当前循环(for 或 switch)。
continue 语句:用于跳过当前循环迭代,进入下一次迭代。只能在 for 循环中使用。

package main

import (
	"fmt"
	"strconv"
)

func main() {
    
    
	for {
    
    
		fmt.Print("请输入整数: ")
		var inputStr string
		fmt.Scanln(&inputStr)

		// 尝试将输入的字符串转换为整数
		inputInt, err := strconv.Atoi(inputStr)
		if err != nil {
    
    
			fmt.Println("请输入正确的整数")
			continue // 输入不是有效整数,继续下一次循环
		}

		// 输出1到输入数据的序列
		for i := 1; i <= inputInt; i++ {
    
    
			fmt.Println(i)
		}
	}
}

package main

import "fmt"

//输出偶数
func main() {
    
    
	for i := 1; i <= 10; i++ {
    
    
		if i%2 == 0 {
    
    
			fmt.Println(i)
		} else {
    
    
			continue //跳出13579,输出偶数
		}
	}
}

在这里插入图片描述

使用注意

  1. 关键字 if 和 else 之后的左大括号 { 必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号 } 必须和 else-if 关键字在同一行。
    错误写法
if x{
    
    
}
else {
    
      // 无效的写法
}
  1. 返回某个值以及 true 表示成功;返回零值(或 nil)和 false 表示失败,在上面实例中我们使用nil判断是否为数字。
  2. 死循环时注意跳出。

猜你喜欢

转载自blog.csdn.net/qq_39583774/article/details/132758325