Golang极速入门课五,流程控制

本文是跟着猫猫学Golang系列的一部分,详细介绍了Go语言中的条件语句(if、switch、select)和循环语句(for),包括基本用法和实例演示,同时讲解了循环控制关键字Goto、Break、Continue的应用。适合初学者快速掌握Go语言的基础控制结构。
摘要由CSDN通过智能技术生成

系列文章目录

跟着😽猫猫学Golang,快人一步
系列初开,跟着我走进Go 语言的世界里🌍

系列目录

Golang极速入门课一,我与Golang初相见
Golang极速入门课二,关键字、保留字与 Go语言思想
Golang极速入门课三,基本类型知多少
Golang极速入门课四,变量与常量



😺前言

随着Golang的不断普及,国内针对Go语言的需求不断增加,但相对应的学习者与教程却并没有增多,Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易,它也是我编写最顺手的编程语言。

Google 对 Go 寄予厚望,其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助开发者处理琐碎但重要的内存管理问题。Go 的速度也非常快,几乎和 C 或 C++ 程序一样快,且能够快速开发应用程序。


一、条件语句

条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。

• 可省略条件表达式括号。
• 持初始化语句,可定义代码块局部变量。 
• 代码块左括号必须在条件表达式尾部。

1.基本 if

if bool 表达式 {
   /* 在 bool 表达式为 true 时执行 */
}

例子 判断变量大小

func main() {
	// 定义变量数值为 1
   a := 1
   // a < 1 为 bool 表达式,此时 a 为1 不小于 1,则表达式值为 false
   if a < 1 {
       fmt.Println(" a < 1" )
   } else if a == 1 {
   		fmt.Println(" a 的值为 1" )
   } else {
   		fmt.Println(" a > 1" )
   }
   fmt.Println("条件判断结束,程序继续运行")
}

2.基本 switch

switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。
Golang switch 分支表达式可以是任意类型,不限于常量。可省略 break,默认自动终止。

switch var1 {
    case val1:
        // if var1 == var1
        ...
    case val2:
    	// if val2 == val2
        ...
    default:
        ...
}

例子 判断变量数值

func main() {
	// 定义变量数值为 1
   a := 1
   switch a{
      case 1: 
      	fmt.Println("a 的值为 1")
      case 2: 
      	fmt.Println("a 的值为 2")
      case 3,4,5: 
     	fmt.Println("a 的值为 3 或 4 或 5")
      default: 
     	fmt.Println("a 的值不为以上数值")
   }
}

3.基本 select

select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。
select 是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信操作,要么是发送要么是接收。
select 随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。一个默认的子句应该总是可运行的。

select {
    case communication clause  :
       statement(s);      
    case communication clause  :
       statement(s);
    /* 你可以定义任意数量的 case */
    default : /* 可选 */
       statement(s);
} 

例子 判断管道发送数值

func main() {
	// 定义变量数值为 1
   var a, a2, a3 chan int
   select {
      case  <- a: 
      	fmt.Println("a 管道发送数值")
      case  <- a2: 
      	fmt.Println("a2 管道发送数值")
      case <- a3: 
     	fmt.Println("a3 管道发送数值")
      default: 
     	fmt.Println("三个管道都不存在值")
   }
}

二、循环语句

循环控制语句可以控制循环体内语句的执行过程

1.基本 for

for循环是一个循环控制结构,可以执行指定次数的循环。
Go语言的For循环有3中形式,只有其中的一种使用分号。

1.常见的 for 循环,支持初始化语句。

for i:=0;i < n;i++ {
}

2. for 循环,替代 while (n > 0)

for n > 1  {
}

3. for 循环,替代 while ( true )

for {
}

4. for range 循环

for index , value := nums {
}

例子 打印3个数

func main() {

   for i := 0; i < 3; i++ {
      fmt.Println("a 的值为: ", a)
   }

	var a = 0
   for a < 3 {
      a++
      fmt.Println("a 的值为: ", a)
   }
   var count = 0
	for {
	count++
	 fmt.Println("a 的值为: ", a)
	 if count > 3 {
	 	return
	 }
	}
	
	 var nums = []int{1, 2, 3}
	for i,v:= range numbers {
		if i > 3 {
			return
		}
       fmt.Println("a 的值为: ", a)
   }     

} 

2.循环控制关键字 Goto、Break、Continue

goto 语句可以无条件地转移到过程中指定的行。

 for i := 0; i < 3; i++ {
		if i > 1 {
		// 忽略此次,跳过当前循环的剩余语句,然后继续进行下一轮循环。
			continue
		}
		if i > 2 {
		// 经常用于中断当前 for 循环或跳出 switch 语句
			break
		}
		if i > 1 {
		//	将控制转移到被标记的语句。
			goto
		}
   }
 label: 标记位置

😽总结

🎶感谢您看到这里🎶

实际工作中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句,也有很多的校验需要通过条件判断进行,这将是绕不开的语法
,但是也是清晰明了的语法、当我们熟悉后,才可以去运用,在不断学习中提高自己。

希望这个博客能对你有所益处。我是轻王,我为自己代言。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫轻王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值