为什么不推荐使用else if

为什么不推荐使用else if

为什么不推荐使用 else if

当然是为了简洁易读啦,甚至 else 都不推荐

实例

  • else if
func main(){
  var age=18
  
  if age < 18 {
    // TODO
  }else if age >=18 && age < 30{
    // TODO
  }else if age >=30 && < 60 {
    // TODO
  }
  fmt.Println()
}

是不是看起来有点糟糕,如果{}中的逻辑代码超多,那看起来是超级不方便的,而且 idea 工具收缩代码也不是很方便看

使用 switch....case

func main(){
  var age=18
  
  switch true {
    case age < 18:
    	//TODO 
    case age >=18 && age < 30:
    	//TODO 
    case age >=30 && < 60:
    	//TODO 
  }
  fmt.Println()
}

简洁且易读

  • 多使用 return 而不是 else
func IsYoung(age int) bool {
	// go 是不支持三元表达式的
	// age==18?1:0
	if age == 18 {
		return true
	} else {
		return false
	}
}
func IsYoung(age int) bool {
	if age != 18 {
		return false
	}
	return true
}

一般函数的流程就头走到尾,优先判断不满足的条件或者错误然后 return

// 不推荐
func IsYoung(age int) {
	if age == 18 {
		// TODO
		return
	}
	return
}

// 推荐使用:断言式写法,流程一步一步往下走,遇到错误则终止
func IsYoung(age int) {
	if age != 18 {
		return
	}
	// TODO
	return

}