zoukankan      html  css  js  c++  java
  • 【原创】go语言学习(四)流程控制

    目录:

    1、if else语句块

    2、for语句

    3、switch语句

    if else语句块

    1、基本语法

    if condition {      
      //do something
    }

    if statement; condition {
     
    }

    if condition {
         //do something
    } else if condition {
       //do something
    } else {
        //do something
    }

     

    2、练习一

     

    // 奇偶数
    func testIf1() {
    	num := 10
    	// var num int
    	// num = 10
    	if num%2 == 0 {
    		fmt.Printf("num:%d is  even
    ", num)
    	} else {
    		fmt.Printf("num:%d is odd
    ")
    	}
    }
    

      

    3、练习二

    // if.. else if 可赋值
    func testIf3() {
    	// num := 10
    	// var num int
    	// num = 10
    
    	// if语句块中定义num, num会在语句块中销毁
    	if num := 11; num%2 == 0 {
    		fmt.Printf("num %d is even
    ", num)
    	} else {
    		fmt.Printf("num:%d is odd
    ", num)
    	}
    
    	// 为空
    	fmt.Printf("num=%d
    ", num)
    }
    

      

    4、练习三

    // 方法
    func getNum() int {
    	return 10
    }
    
    func testIf4() {
    	// if语句块中定义num, num会在语句块中销毁
    	if num := getNum(); num%2 == 0 {
    		fmt.Printf("num %d is even
    ", num)
    	} else {
    		fmt.Printf("num:%d is odd
    ", num)
    	}
    
    	// 为空
    	fmt.Printf("num=%d
    ", num)
    }

    for语句

    1、Go语⾔言中只有⼀一种循环 for

    for initialisation; condition; post {
      
    }
    

      

    2、练习一

    func testFor1() {
    
    	// for块中定义,结束时i销毁
    	//for i := 1; i <=10 ; i++ {
    	//	fmt.Printf("i=%d
    ",i)
    	//}
    
    	// 不销毁
    	var i int
    	for i = 1; i <= 10; i++ {
    		fmt.Printf("i=%d
    ", i)
    	}
    
    	fmt.Printf("final:i=%d
    ", i)
    }
    

      

    3、练习二

    // break 跳出循环 continue
    func testFor2() {
    	var i int
    	for i = 1; i <= 10; i++ {
    		if i > 5 {
    			break
    			// continue
    		}
    		fmt.Printf("i=%d
    ", i)
    	}
    
    	fmt.Printf("final:i=%d
    ", i)
    }
    

      

    4、练习三

    // continue结束本次循环,跳到下次循环
    func testFor3() {
    	var i int
    	for i = 1; i <= 10; i++ {
    		if i%2 == 0 {
    			continue
    		}
    		fmt.Printf("i=%d
    ", i)
    	}
    
    	fmt.Printf("final:i=%d
    ", i)
    }

    // 二种写法
    func testFor4() {
    //var i int
    //i = 1;
    i := 1
    for i <= 10 {
    fmt.Printf("i=%d ", i)
    i = i + 2
    }

    fmt.Printf("final:i=%d ", i)
    }

    // 三种写法
    func testFor5() {
    //var i int
    //i = 1;
    i := 1
    for i <= 10 {
    fmt.Printf("i=%d ", i)
    i = i + 2
    }

    fmt.Printf("final:i=%d ", i)
    }

      

    5、练习四

    // 多行赋值
    func testMultiSign() {
    	//var a int
    	//var b string
    	//var c int
    	a, b, c := 10, "hello", 100
    
    	fmt.Printf("a=%d b=%s c=%d
    ", a, b, c)
    }
    
    // 多条件for
    func testFor6() {
    	for no, i := 10, 1; i < 10 && no <= 19; i, no = i+1, no+1 {
    		fmt.Printf("%d * %d = %d", i, no, i*no)
    	}
    }
    

      

    5、练习五

    // 无限循环for
    func testFor7() {
    	for {
    		fmt.Printf("hello
    ")
    	}
    }
    

      

    switch语句

    1、case语句

    func testIf() {
    	var a int = 2
    	if a == 1 {
    		fmt.Printf("a=1
    ")
    	} else if a == 2 {
    		fmt.Printf("a=2
    ")
    	} else if a == 3 {
    		fmt.Printf("a=3
    ")
    	} else if a == 4 {
    		fmt.Printf("a=4
    ")
    	} else {
    		fmt.Printf("a=5
    ")
    	}
    }

    func testSwitch() {
    var a int = 2
    switch a {
    case 1:
    fmt.Printf("a=1 ")
    case 2:
    fmt.Printf("a=2 ")
    case 3:
    fmt.Printf("a=3 ")
    case 4:
    fmt.Printf("a=4 ")
    case 5:
    fmt.Printf("a=5 ")
    default:
    fmt.Printf("a=?? ")
    }
    }

      

    2、写法二

    func getValue() int {
    	return 6
    }
    
    // 写法二
    func testSwitch2() {
    	switch a := getValue(); a {
    	case 1:
    		fmt.Printf("a=1
    ")
    	case 2:
    		fmt.Printf("a=2
    ")
    	case 3:
    		fmt.Printf("a=3
    ")
    	case 4:
    		fmt.Printf("a=4
    ")
    	case 5:
    		fmt.Printf("a=5
    ")
    	default:
    		fmt.Printf("a=??
    ")
    	}
    }
    

      

    3、练习一

    func testSwitch3() {
    	switch a := getValue(); a {
    	case 1, 2, 3, 4, 5:
    		fmt.Printf("a>=1 and a<=5
    ")
    	case 6, 7, 8, 9, 10:
    		fmt.Printf("a>=6 and a<=10
    ")
    	default:
    		fmt.Printf("a > 10
    ")
    	}
    }
    

      

    4、练习二

    func testSwitch4() {
    	var num = 60
    	switch {
    	case num >= 0 && num <= 25:
    		fmt.Printf("a>=0 and a<=25
    ")
    	case num > 25 && num <= 50:
    		fmt.Printf("a > 25 and a <=50
    ")
    	case num > 50 && num <= 75:
    		fmt.Printf("a > 50 and a <= 75
    ")
    	case num > 75 && num <= 100:
    		fmt.Printf("a > 75 and a <= 100
    ")
    	default:
    		fmt.Printf("invalid a = %d 
    ", num)
    	}
    }
    

      

    5、fallthrough 穿透case块,执行下一个case块

    // fallthrough 穿透case块,执行下一个case块,执行代码
    func testSwitch5() {
    	var num = 60
    	switch {
    	case num >= 0 && num <= 25:
    		fmt.Printf("a>=0 and a<=25
    ")
    	case num > 25 && num <= 50:
    		fmt.Printf("a > 25 and a <=50
    ")
    	case num > 50 && num <= 75:
    		fmt.Printf("a > 50 and a <= 75
    ")
    		fallthrough
    	case num > 75 && num <= 100:
    		fmt.Printf("a > 75 and a <= 100
    ")
    	default:
    		fmt.Printf("invalid a = %d 
    ", num)
    	}
    }
    

      

    6、打印99乘法表

    // 打印 99乘法表
    func testMulti() {
    	//1*1=1
    	//1*2=2 2*2=4
    	//1*3=3 2*3=6 3*3=9
    
    	for i := 1; i < 10; i++ {
    		for j := 1; j <= i; j++ {
    			fmt.Printf("%d * %d = %d", j, i, j*i)
    		}
    		fmt.Println()
    	}
    }
    

      

  • 相关阅读:
    jquery easy ui 学习 (8)basic treegrid
    jquery easy ui 学习 (7) TreeGrid Actions
    jquery easy ui 学习 (6) basic validatebox
    jquery easy ui 学习 (5) windowlayout
    jquery easy ui 学习 (4) window 打开之后 限制操纵后面元素属性
    提示“应用程序无法启动,因为应用程序的并行配置不正确”不能加载 System.Data.SQLite.dll
    visual studio 添加虚线的快捷键
    VS2010打开项目时,出现“已经在解决方案中打开了具有该名称的项目”问题的解决方案
    visual studio 编译时 出现 Files 的值 乱码
    微信 连接被意外关闭
  • 原文地址:https://www.cnblogs.com/wangshuyang/p/11725701.html
Copyright © 2011-2022 走看看