Golang-006-条件语句

  • if语句
value := 1
if value == 0 {
    fmt.Println("v0")
}
  • if-else语句
value := 1
if value == 0 {
    fmt.Println("v0")
}else{
    fmt.Println("v1")
}
  • else if 语句
value := 1
if value == 0 {
    fmt.Println("v0")
}else if value == 1 {
    fmt.Println("v1")
}else{
    fmt.Println("v2")
}
  • 赋值判断语句
if contents, err := ioutil.ReadFile("filename.txt"); err == nil {
        fmt.Println("符合条件,走这里")
    }else{
        fmt.Println("有错误,走这里")
    }
  • switch语句
value := 1
switch value {
case 1:
    fmt.Println("1")
    fallthrough
case 2:
    fmt.Println("2")
default:
    fmt.Println("0")
}
func main() {
   /* 定义局部变量 */
   var grade string = "B"
   var marks int = 90

   switch marks {
      case 90: grade = "A"
      case 80: grade = "B"
      case 50,60,70 : grade = "C"
      default: grade = "D"  
   }

   switch {
      case grade == "A" :
         fmt.Printf("优秀!\n" )    
      case grade == "B", grade == "C" :
         fmt.Printf("良好\n" )      
      case grade == "D" :
         fmt.Printf("及格\n" )      
      case grade == "F":
         fmt.Printf("不及格\n" )
      default:
         fmt.Printf("差\n" );
   }
   fmt.Printf("你的等级是 %s\n", grade );      
}
  • switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。
  • switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加 break。
  • switch 默认情况下 case 最后自带 break 语句,匹配成功后就不会执行其他 case,如果我们需要执行后面的 case,可以使用 fallthrough 。
  • 变量 var1 可以是任何类型,而 val1 和 val2 则可以是同类型的任意值。类型不被局限于常量或整数,但必须是相同的类型;或者最终结果为相同类型的表达式。
  • 您可以同时测试多个可能符合条件的值,使用逗号分割它们,例如:case val1, val2, val3。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容