zoukankan      html  css  js  c++  java
  • go基础_控制语句

    if控制语句

    说明:(1)if后面的条件语句不用加括号

    (2)if后面可以跟一个简单的初始化语句,并以分号分割,初始化语句中的变量的作用域是整个if语句块

    (3)if语句的条件语句需要尽量简单

    (4)go语言没有条件运算语句(例如,a>b?1:0)

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    
    	b := 10
    	if a := 10; a < b {
    		fmt.Println("a < b")
    	} else if a == b {
    		fmt.Println("a == b")
    	} else {
    		fmt.Println("a > b")
    	}
    }
    

    switch控制语句

    fallthrough的作用:不再判断下一个case(注意是下一个,不是下面所有的case子句

    package main
    
    
    import "fmt"
    
    
    func main() {
    
    
    	switch letter := 'y'; letter {
    	case 'y', 'Y':
    		fmt.Println("yes")
    		fallthrough
    	case 'n', 'N':
    		fmt.Println("no")
    	case 'a', 'A':
    		fmt.Println("all")
    	}
    }

     

    运行结果

    package main
    
    import "fmt"
    
    func main() {
    
    	switch letter := 'y'; letter {
    	case 'y', 'Y':
    		fmt.Println("yes")
    		fallthrough
    	case 'n', 'N':
    		fmt.Println("no")
    	case 'a', 'A':
    		fmt.Println("all")
    	}
    }
    

      

    switch语句中,default可以放在任意位置,不影响处理逻辑

    举例

    	switch letter := 'h'; letter {
    	default:
    		fmt.Println("default")
    	case 'y', 'Y':
    		fmt.Println("yes")
    		fallthrough
    	case 'n', 'N':
    		fmt.Println("no")
    	case 'a', 'A':
    		fmt.Println("all")
    	}

    运行结果

    default
    成功: 进程退出代码 0.
    

      

    for循环控制语句

    go语言中只有1种循环,那就是for

    // 数组类型控制的for循环
    func for_array() {
    	arr := [4]int{1, 2, 3}
    	for idx := range arr {
    		fmt.Println(arr[idx])
    	}
    }
    

      

    //切片类型控制的for循环
    func for_slice() {
    	arr := [...]int{1, 2, 3, 4, 5, 6}
    	sli := arr[4:]
    	for idx := range sli {
    		fmt.Println(sli[idx])
    	}
    }
    

     

    // make切片控制的for循环
    func for_slice2() {
    	sli := make([]int, 3)
    	sli[0] = 1
    	sli[1] = 2
    	for idx := range sli {
    		fmt.Println(sli[idx])
    	}
    }

    运行结果:

    1

    2

    0

    成功: 进程退出代码 0.

    // map控制的for循环
    func for_map() {
    	student_list := map[string]int{"name_a": 1, "name_b": 2, "name_c": 3}
    
    	for k, _ := range student_list {
    		fmt.Println(k)
    	}
    	for _, v := range student_list {
    		fmt.Println(v)
    	}
    	for k, v := range student_list {
    		fmt.Println(k, v)
    	}
    }
    

      

    大道至简
  • 相关阅读:
    maven 的 oracle的Missing artifact com.oracle:******:jar:11.2.0.2.0
    [CF 191C]Fools and Roads[LCA Tarjan算法][LCA 与 RMQ问题的转化][LCA ST算法]
    公司估值(贴现现金流量法DCF)
    Shell编程学习---第五篇:Shell的输入和输出
    S3C2410 实验三——块拷贝、字拷贝(寄存器的理解)
    模板方法模式实现组合查询
    关于方程x^2+y^2=p (p为素数)的解问题
    IOS登陆+注册+抽奖+排行榜
    用PersonalRank实现基于图的推荐算法
    Redis3.0--集群安装部署
  • 原文地址:https://www.cnblogs.com/liurong07/p/10577459.html
Copyright © 2011-2022 走看看