Go学习笔记二(判断语句)

循环

Go 语⾔仅支持循环关键字 for

for  i:= 0; i <= 10; i++ 

while 条件循环(while (n<5))

n := 0
for n < 5 {
  n++
  fmt.Println(n)
}

if 条件

用法还是比较常规

if condition { 
   // code to be executed if condition is true
} else {
  // code to be executed if condition is false
}

if condition-1 {
  // code to be executed if condition-1 is true
} else if condition-2 {
  // code to be executed if condition-2 is true
} else {
  // code to be executed if both condition1 and condition2 are false
{
 

if与其他主要编程语⾔的差异

  1. condition 表达式结果必须为布尔值
  2. ⽀持变量赋值:
if  var declaration;  condition {
   // code to be executed if condition is true
}

//可以先赋值,在判断条件
if i := 10; i > 0 {
   fmt.Println(n)
}

switch 条件

case后面不限制为常量或者整数,如下面代码可以为字符串

switch os := runtime.GOOS; os {
case "darwin":
  fmt.Println("OS X.”)
case "linux":
    fmt.Println("Linux.")
default:
    fmt.Printf("%s.", os)
}

go语言中的case不用break来退出,多个条件相同操作的话在一个case中用逗号隔开。

switch i {
    case 0:
        fmt.Printf("0")
    case 1:
        fmt.Printf("1")
    case 2:
        fallthrough
    case 3:
        fmt.Printf("3")
    case 4, 5, 6://多个条件用,隔开
        fmt.Printf("4, 5, 6")
    default:
        fmt.Printf("0")
}

switch也可以类似if语句的用法

switch {
case 0 <= Num && Num <= 3:
fmt.Printf("0-3")
case 4 <= Num && Num <= 6:
fmt.Printf("4-6")
case 7 <= Num && Num <= 9:
fmt.Printf("7-9")
}

switch与其他主要编程语⾔言的差异

  1. 条件表达式不限制为常量或者整数;
  2. 单个 case 中,可以出现多个结果选项, 使用逗号分隔;
  3. 与 C 语言等规则相反,Go 语⾔不需要用break来明确退出一个 case;
  4. 可以不设定 switch 之后的条件表达式,在此种情况下,整个 switch 结构与多个 if...else... 的逻辑作用等同

你可能感兴趣的:(Go学习笔记二(判断语句))