🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业,阿里云博客专家
😉😉 💕 座右铭: 先努力成长自己,再帮助更多的人,一起加油进步
🍺🍺🍺 💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘
if语句是条件语句,它根据布尔表达式的值来决定选择执行哪个分支:如果表达式的值为true,则if分支被执行;
如果表达式的值为false,则else分支被执行。
下面,我们来看一个if条件语句示例:
package mainimport "fmt"func main() {i := 20if i > 10{fmt.Println("i>10")}else{fmt.Println("i<10")}
}
在这个案例中使用了if ...else
语句, 当i
的值大于10
为true的时候,执行第一条分支;否则执行第二条分支。
关于if语句的一些惯例:
if…else
条件语句中还可以增加多个else if
,以增加更多的条件分支。我们可以使用这种方式增加更多的分支条件,不过这种方式一般不推荐,因为代码的可读性较差,所以多个条件分支我们后面会用switch代替,让代码更清晰,简洁。
package mainimport "fmt"func main() {i := 10if i > 10{fmt.Println("i>10")}else if i < 10 {fmt.Println("i<10")}else{fmt.Println("i=10")}
}
在这个案例中我们除了可以先定义i := 10
之外,也可以直接在if语句后面添加,但注意加分号;
package main
import "fmt"
func main() {if i:=10;i > 10{fmt.Println("i>10")}else if i < 10 {
fmt.Println("i<10")}else{
fmt.Println("i=10")}
}
if条件语句比较适合分支较少的情况,如果有很多分支的话,选择switch会更方便,比如以上示例,使用switch改造后的代码如下:
package mainimport "fmt"func main() {switch i:=6; {case i > 10:fmt.Println("i>10")case i>5 && i <=10:fmt.Println("5
在go语言中, switch 的case ,从上往下逐一判断,一旦满足条件,就立即执行对应的分支并返回,这时候,对其余的分支就不再判断。
这就相当于:默认情况下,Go语言中switch的case最后自带break
.
但有时候我们不想退出,而是想要执行一个紧跟的case怎么办?
go语言提供了fallthrough的关键字
,我们再来看一个例子:
package mainimport "fmt"func main() {switch i:=6; {case i>5 && i <=10:fmt.Println("5 10:fmt.Println("hellworld")default:fmt.Println("i<=5")}
}
这么写,程序会在执行完第一个case之后,进入到第二个case语句去执行,所以结果:
所谓的循环,就是程序让代码多次执行相同的代码块。而for循环是go语言中唯一的循环结构,for循环用的最多的地方就是遍历数组或者切片。
go语言虽然仅有一种循环语句,但常用的方式都能够支持:
第一种方式:
for i :=0; i<3;i++{}
第二种方式:
for x <10 {
x++
}
第三种方式:
for {
break
}
案例一:求1-100的和
package mainimport "fmt"func main() {sum := 0for i :=1; i<=100;i++{sum +=i}fmt.Println("the sum is" ,sum)
}
其中:
1)第一部分是一个简单语句,一般用于for循环的初始化,比如这里声明了一个变量i,并用i:=1对其进行初始化。
2)第二部分是for循环的条件,也就是说,它表示for循环什么时候结束。这里的条件是i<=100。
3)第三部分是更新语句,一般用于更新循环的变量,比如这里的i++,这样才能达到递增循环的目的
上面的案例也可以写成类似于其他语言中while的形式:
案例二:
package mainimport "fmt"func main() {sum := 0i:=1for i<=100{sum +=ii++}fmt.Println("the sum is" ,sum)
}
这个示例和上面的for示例的效果是一样的,但是这里的for后面只有i<=100这一个条件语句,也就是说,它达到了while的效果
**案例三: 演示break和continue的用户
先来看break:
package mainimport "fmt"func main() {sum := 0i:=1for {sum +=ii++if i >100{break}}fmt.Println("the sum is" ,sum)
}
以上三种方法都实现了统计0-100的和。
再来看continue的用法:
package mainimport "fmt"func main() {
for i := 0; i < 5; i++ {
if i == 2 { // 当 i == 2时,跳出整个循环
break
}
fmt.Printf(" %d", i)
}
fmt.Println()
for i := 0; i < 5; i++ {
if i == 2 { // 当i == 2时,跳出当前轮循环
continue
}
fmt.Printf(" %d", i)
}
}
执行结果如下:
0 1
0 1 3 4
案例四: break 结束标记内的所有循环
package mainimport "fmt"func main() {// 使用标记,break掉标记内的所有循环fmt.Println("---- break label ----")
re:for i := 1; i <= 3; i++ {fmt.Printf("i: %d\n", i)for i2 := 11; i2 <= 13; i2++ {fmt.Printf("i2: %d\n", i2)break re}}
}
//---- break label ----
//i: 1
//i2: 11
for循环的用法比较多,坚持练习,一起努力。
💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!
💕 博客主页:mufeng.blog.csdn.net
💕 本文由沐风晓月原创,首发于CSDN博客
💕 全力以赴,持续学习,不负如来不负卿
💕 喜欢的话记得点赞收藏哦