zoukankan      html  css  js  c++  java
  • Go语言之循环与条件判断

    一、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
    无匹配
    
    学习之旅
  • 相关阅读:
    springboot---Shiro
    spring MVC 使用 modelAndView.setViewName("forward:*.action") 发送重定向
    数据库负载均衡、读写分离技术
    redis详解
    分布式--锁
    springboot---数据整合篇
    hadoop安装单机
    NIO系列之MINA
    JAVA中IO流模型BIO,NIO,AIO
    CPU-bound(计算密集型) 和I/O bound(I/O密集型)
  • 原文地址:https://www.cnblogs.com/XiaoYang-sir/p/15375719.html
Copyright © 2011-2022 走看看