go基础(4)条件判断语句

if语句

if 布尔表达式 { 

 //当布尔表达式为真的时候,执行括号里面的语句

}

a :=18

b :=19

if a > b {

 fmt.Println("a大于b")

}

/**   整个语句的意思就是 当a大于b的时候输出一句话"a大于b"  */

if 布尔表达式 { 

 //当布尔表达式为真的时候,执行括号里面的语句

}else{

//当布尔表达式为假的时候,执行这个括号里面的语句

}

a :=18

b :=19 

if a > b { 

fmt.Println("a大于b")

} else {

 fmt.Println("a小于b")

}

/**  整个语句的意思就是 当a大于b的时候输出一句话" a大于b " 否则输出 "a小于b" */

if 布尔表达式1 {

//当布尔表达式1成立 进入这里面

}else if 布尔表达式2 {

//当布尔表达式2成立 进入这里面

}else {

//如果 布尔表达式1 与 布尔表达式2 都不成立  则进入这里

}

a :=18

b :=19 

if a > b {

fmt.Println("a大于b")

}else if a > c {

fmt.Println("a大于c")

}else {

fmt.Println("空我")

}

/** 整句话的意思就是 a如果大于b则输出 a大于b,如果 a大于c 则输出 a大于c ,如果 a既不大于b 也不大于c 则 输出空我 */

switch语句

 switch 语句的语法(一):

 a := 1

switch { 

     case a == v1: 

//当a  为 v1 时候执行这个里面的内容

      case a==v2:

 .//当a  为 v2 时候执行这个里面的内容

      default: 

//当a  既不为 v1 也不为v2 时候执行这个里面的内容

 }

grade :="s"

switch {

case grade =="sss":

fmt.Println("恭喜抽到sss卡")

case grade =="s":

fmt.Println("恭喜抽到s卡")

case grade =="A":

fmt.Println("恭喜抽到A级卡")

case grade =="B":

fmt.Println("恭喜抽到B级卡")

}


switch 语句的语法(二):

switch val { 

 case val1:

//当 val 为val1的时候 执行这里的内容

 case val2:

//当 val 为val2的时候 执行这里的内容

 default:

//当 val 既不为val1 也不为val2的时候 执行这里的内容

}

grade :="A"

switch grade {

case "sss":

fmt.Println("恭喜抽到sss卡")

case "s":

fmt.Println("恭喜抽到s卡")

case "A":

fmt.Println("恭喜抽到A级卡")

case "B":

fmt.Println("恭喜抽到B级卡")

default: 

 fmt.Println("充点钱  继续抽")

}

switch - fallthrough

使用 fallthrough关键字会强制执行后面的 case 语句,fallthrough 不会判断下一条 case 的表达式是否成立

像这样:

grade :="A"

switch grade {

case "sss":

fmt.Println("恭喜抽到sss卡")

fallthrough 

case "s":

fmt.Println("恭喜抽到s卡")

default: 

 fmt.Println("充点钱  继续抽")

}

/**  不加fallthrough 只会输出:恭喜抽到sss卡  加了fallthrough  会输出:恭喜抽到sss卡 恭喜抽到s卡 **/

switch 也支持多个条件一起匹配 如下:

grade := "s"

switch grade {

case "sss","s","A": 

 fmt.Println("恭喜抽到比较好的卡咯")

default: 

 fmt.Println("充点钱 成为心悦会员 继续抽")

}

只要 grade 符合  "sss","s","A" 中一样 就会输出:恭喜抽到比较好的卡咯

你可能感兴趣的:(go基础(4)条件判断语句)