zoukankan      html  css  js  c++  java
  • 7. 流程控制

    不同的语言在流程控制方面大同小异,基本上都是 if-else, while, for 还有一些其他循环方式。

    【if-els】

    value := true
    if value {
        fmt.Println("true") 
    } else {
        fmt.Println("false")
    }

    看起来除了没有括号限制,其他基本一样。Go语言的if还提供了可选语句部分:

    if value := true; value {
        fmt.Println("true") 
    } else {
        fmt.Println("false")
    }

    在执行判断之前先运行,value := true这一句,需要注意的是,这时候value只作用于if-else语句中。

    这里有一点很奇怪,Go语言的 { 不能单独一行,以及 } else { 必须在同一行,非常奇怪(后来上网查了一下,这是Go语言强制规定的)。

    【for循环】

    for i := 1; i <= 10; i++ {
        fmt.Printf("i = %d
    ", i)
    }

    和C语言差不多,也没啥好说的。这里的for循环有一个特殊的用法可以实现无限循环:

    for {  
    }

    【break】

    一样

    【continue】

    一样

    【switch】

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

    和其他语言也差不多,和if-else一样也没有括号,Go语言的switch自带break,所以不需要每一个case后面带一个break,如果不需要break需要程序继续运行则需要使用fallthrough。

    多个表达式匹配,switch支持一个case多个值,而且支持字符串匹配(太爽了)

    value := "2"
    switch value {
    case "1", "2", "3", "4":
        fmt.Println("1-4")
    case "5":
        fmt.Println("5")
    }
  • 相关阅读:
    Google基本利用
    sqlmap
    kali中wireshark打开后错误
    Python Flask Jinja2模板引擎
    Python Flask学习
    Python 豆瓣日记爬取
    Python 函数装饰器
    Python 生成器
    ss源码学习--从协议建立到完成一次代理请求
    ss源码学习--工作流程
  • 原文地址:https://www.cnblogs.com/hatsusakana/p/9811030.html
Copyright © 2011-2022 走看看