Go语言之fo循环与条件判断

 更新时间:2021年10月12日 17:08:11   作者:Mr-Yang  
这篇文章主要介绍Go语言之fo循环与条件判断,for 循环是一个循环控制结构,可以执行指定次数的循环。下面文章我们结合条件判断,感兴趣的朋友可以参考一下

一、for循环

Go 语言中没有 while 循环,只有一个 for 循环

for 变量初始化;条件;变量自增/自减 {
    循环体内容
}

1、基本使用

for i := 0; i < 10; i++ {
   fmt.Println(i)
}

2、省略第一部分

i := 0
for ; i < 10; i++ {
   fmt.Println(i)
}

3、省略第一和三部分(这是一个 while 循环) for 条件 { 循环体内容 }

i := 0
for i < 10 {
   fmt.Println(i)
   i++
}

4、死循环

for {
    fmt.Println("死循环")
}

5、开多协程演示

for i := 0; i < 2000; i++ {
   go test()
}

func test() {
 for {
  fmt.Println("死循环")
 }
}

6、break

结束本次 for 循环,continue 结束本次循环,继续下一次循环

二、Switch语句

Switch 是一个条件语句,用于将表达式的值与可能匹配的选项列表进行比较,并根据匹配情况执行相应的代码块,它可以被认为是替代多个 if else 语句的常用方式

1、基本使用

num := 4
switch num {
case 1:
   fmt.Println("1")
case 2:
   fmt.Println("2")
case 3:
   fmt.Println("3")
case 4:
   fmt.Println("4")
}

// 输出
4

2、默认情况(都没有匹配上)

num := 5
switch num {
case 1:
   fmt.Println("1")
case 2:
   fmt.Println("2")
case 3:
   fmt.Println("3")
case 4:
   fmt.Println("4")
default:
   fmt.Println("都没有匹配上")
}

// 输出
都没有匹配上

3、多表达式判断

num := 44
switch num {
case 11, 12, 13, 14:
   fmt.Println("1")
case 21, 22:
   fmt.Println("2")
case 31, 33:
   fmt.Println("3")
case 40, 43, 44:
   fmt.Println("4")
default:
   fmt.Println("都没有匹配上")
}

// 输出
4

4、无表达式的 Switch

num := 44
switch {
case num == 11, num == 12:
   fmt.Println(11, 12)
case num == 40, num == 44:
   fmt.Println(40, 44)
}

// 输出
40 44

5、Fallthrough

穿透,只要看到 fallthrough,无条件执行下一个 case 或者 default

num := 12
switch {
case num == 11, num == 12:
   fmt.Println(11, 12)
   fallthrough
case num == 40, num == 44:
   fmt.Println(40, 44)
   fallthrough
default:
   fmt.Println("无匹配")
}

// 输出
11 12
40 44
无匹配

到此这篇关于Go语言之fo循环与条件判断的文章就介绍到这了,更多相关Go语言循环与条件判断内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • go语言文件正则表达式搜索功能示例

    go语言文件正则表达式搜索功能示例

    这篇文章主要介绍了go语言文件正则表达式搜索功能,涉及Go语言文件目录的遍历及正则操作相关技巧,需要的朋友可以参考下
    2017-01-01
  • golang实现mysql数据库事务的提交与回滚

    golang实现mysql数据库事务的提交与回滚

    这篇文章主要介绍了golang实现mysql数据库事务的提交与回滚,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Go中的错误和异常处理最佳实践方法

    Go中的错误和异常处理最佳实践方法

    这篇文章主要介绍了Go中的错误和异常处理最佳实践方法,文章围绕主题展开详细的内容戒杀,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • golang logrus日志框架实例详解

    golang logrus日志框架实例详解

    logrus是一个可插拔的、结构化的日志框架,这篇文章主要介绍了golang logrus日志框架实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • Go 修改map slice array元素值操作

    Go 修改map slice array元素值操作

    这篇文章主要介绍了Go 修改map slice array元素值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • GO语言的控制语句详解包括GO语言的指针语法

    GO语言的控制语句详解包括GO语言的指针语法

    这篇文章主要介绍了GO语言的控制语句详解包括GO语言的指针语法,GO语言switch结构,GO语言for的4种结构需要的朋友可以参考下
    2022-12-12
  • golang环形队列实现代码示例

    golang环形队列实现代码示例

    这篇文章主要介绍了golang环形队列实现代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Go语言并发编程之互斥锁Mutex和读写锁RWMutex

    Go语言并发编程之互斥锁Mutex和读写锁RWMutex

    Go 语言中提供了很多同步工具,本文将介绍互斥锁Mutex和读写锁RWMutex的使用方法,想要具体了解的小伙伴,请参考下面文章详细内容,希望对你有所帮助
    2021-10-10
  • Golang 操作 Kafka 如何设置消息的失效时间

    Golang 操作 Kafka 如何设置消息的失效时间

    在使用 Golang 操作 Kafka 时,你可以使用 Sarama 库来设置消息的失效时间,这篇文章主要介绍了Golang操作Kafka设置消息的失效时间,需要的朋友可以参考下
    2023-06-06
  • 深入探讨Go语言中的map是否是并发安全以及解决方法

    深入探讨Go语言中的map是否是并发安全以及解决方法

    这篇文章主要来和大家探讨 Go 语言中的 map 是否是并发安全的,并提供三种方案来解决并发问题,文中的示例代码讲解详细,需要的可以参考一下
    2023-05-05

最新评论