zoukankan      html  css  js  c++  java
  • go语言学习(二)——流程控制

    下面是go语言的流程控制

    // GoStudy2 project main.go
    /*go语言学习
    流程控制
    */
    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	//if
    	//v11 := -10
    	fmt.Println("******************if")
    	if v11 := 10; v11 < 0 { //if后面可以定义变量,用;隔开
    		fmt.Println("v11 < 0")
    	} else if v11 == 0 { //不能另起一行
    		fmt.Println("v11 == 0")
    	} else {
    		fmt.Println("v11 > 0")
    	} //不允许将最终的return放到if...else...中,编译不通过
    
    	//switch
    	fmt.Println("**************switch")
    	v21 := 1
    	switch v21 {
    	case 1:
    		fmt.Println("v21 is", v21)
    		fmt.Println("run next")
    		fallthrough //执行完这个case之后强制执行以一个case中的内容
    	case 2, 3: //可以几个值放在一起
    		fmt.Println("v21 is", v21)
    	case 4:
    		fmt.Println("v21 is", v21)
    	default:
    		fmt.Println("other value")
    	}
    
    	switch { //可以不带参数,相当于if...else if...else
    	case v21 < 0:
    		fmt.Println("v21 < 0")
    	case v21 == 0:
    		fmt.Println("v21 == 0")
    	case v21 > 0:
    		fmt.Println("v21 > 0")
    	default:
    	}
    
    	//for
    	fmt.Println("**********************for")
    	v31 := 0
    	for i := 0; i < 100; i++ { //一般循环
    		v31 += i
    	}
    	fmt.Println(v31)
    
    	v32 := 0
    	for { //无线循环
    		v32++
    		if v32 > 100 {
    			break
    		}
    	}
    	fmt.Println(v32)
    
    	v33 := []int{2, 3, 5, 7, 1}
    	for i, j := 0, len(v33)-1; i < j; i, j = i+1, j-1 { //支持多重赋值;
    		v33[i], v33[j] = v33[j], v33[i]
    	}
    	fmt.Println(v33)
    
    OuterLoop: //标签
    	for i := 0; i < 100; i++ {
    		fmt.Println("out loop", i)
    		for j := 0; j < 100; j++ {
    			//fmt.Println("in loop", j)
    			if j > 50 {
    				break OuterLoop //跳出outerloop所在层的循环,这里直接跳出最外面的循环
    			}
    		}
    	}
    
    	//goto
    	fmt.Println("**********************goto")
    	v41 := true
    GoToTip:
    	fmt.Println("goto run")
    	if v41 {
    		v41 = !v41
    		goto GoToTip
    	}
    }
    

      

     以上,流程控制完成

  • 相关阅读:
    (转)bash内置命令mapfile:读取文件内容到数组
    new 一个接口?
    Linq的一些操作符图表展示
    StreamReader 和文件乱码
    XSLT 的调试
    不一样的大小写转换
    一些可能没用过的调试窗口
    私人工具分享:博客下载工具
    简单的实例来理解WCF 数据服务
    谈谈char ,nchar,varchar,nvarchar 和Uniqueidentifier
  • 原文地址:https://www.cnblogs.com/singledigit/p/6378588.html
Copyright © 2011-2022 走看看