zoukankan      html  css  js  c++  java
  • go-008-循环语句

    一、循环语句【只有for】

    1、基础结构:

    Go语言的For循环有3中形式,只有其中的一种使用分号。

    和 C 语言的 for 一样:

    for init; condition; post { }

    和 C 的 while 一样:

    for condition { }

    和 C 的 for(;;) 一样:

    for { }

    init: 一般为赋值表达式,给控制变量赋初值;

    condition: 关系表达式或逻辑表达式,循环控制条件;

    post: 一般为赋值表达式,给控制变量增量或减量。

    2、for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下:

    for key, value := range oldMap {
        newMap[key] = value
    }

    示例

    package main
    
    import "fmt"
    
    func main() {
    
       var b int = 15
       var a int
    
       numbers := [6]int{1, 2, 3, 5} 
    
       /* for 循环 */
       for a := 0; a < 10; a++ {
          fmt.Printf("a 的值为: %d
    ", a)
       }
    
       for a < b {
          a++
          fmt.Printf("a 的值为: %d
    ", a)
          }
    
       for i,x:= range numbers {
          fmt.Printf("第 %d 位 x 的值 = %d
    ", i,x)
       }   
    }
    View Code

    二、循环控制语句

    注:goto语句

    goto label;
    ..
    .
    label: statement;

     在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

    示例: 

    package main
    
    import "fmt"
    
    func main() {
       /* 定义局部变量 */
       var a int = 10
    
       /* 循环 */
       LOOP: for a < 20 {
          if a == 15 {
             /* 跳过迭代 */
             a = a + 1
             goto LOOP
          }
          fmt.Printf("a的值为 : %d
    ", a)
          a++     
       }  
    }
    View Code

    三、无限循环 

    package main
    
    import "fmt"
    
    func main() {
        for true  {
            fmt.Printf("这是无限循环。
    ");
        }
    }
  • 相关阅读:
    mongodb教程
    redis高级知识
    memcached删除机制与大数据缓存问题
    nginx 运维基础
    mysql 集群与分区
    Memcached之缓存雪崩,缓存穿透,缓存预热,缓存算法
    git cz配置
    Angular零碎知识点-持续补充
    Vue学习笔记-组件
    Vue学习笔记-自定义指令生命周期函数
  • 原文地址:https://www.cnblogs.com/bjlhx/p/6825007.html
Copyright © 2011-2022 走看看