GoLang-4(switch)

       多分支语句switch在存在多个条件判断时使用,代码的可读性上要比连续不断的else if语句更好。Go中的switch与java php还是有区别的。java  php使用break语句来中断switch的执行,且都是如下这种方式:

switch (expression)
{
case label1:
  code to be executed if expression = label1;
  break;  
case label2:
  code to be executed if expression = label2;
  break;
default:
  code to be executed
  if expression is different 
  from both label1 and label2;
}

     Go中的switch则有如下两种写法:

方式一:switch后不带变量,逻辑在case语句中进行处理,相当于多个纯粹的else if 语句
switch{
 case expression1:
      operation1
 case expression2:
      operation2
 case expression3:
      operation3
default:
    operationdefault
}


方式2:与java和php的处理类似,但是每个case可以包含多个值,这在java和php中是不允许的。
switch var1{
 case label1,label11:
      operation1
 case label2:
      operation2
 case label3:
      operation3
default:
    operationdefault
}

   示例:

方式一:
	c := 6
	switch {
	case c < 7:
		fmt.Println("7")
	case c < 8:
		fmt.Println("8")
	default:
		fmt.Println("default")
	}
方式二:
	day := 4
	switch day {
	case 1, 2, 3:
		fmt.Println("1")

	case 4:
		fmt.Println("4")
	case 5:
		fmt.Println("5")
	}

猜你喜欢

转载自768992698.iteye.com/blog/2326068