Go语言学习 _基础02 _条件表达式、分支、循环
条件表达式和switch
package condition
import "testing"
func TestCondiction(t *testing.T) {
if a := 1 == 1; a { // 声明 加 条件判断
t.Log("1==1")
} else {
t.Log("1!=1")
}
/*if v,err := someFun(); err==nil{
t.Log("success")
}else{
t.Log("Erro")
}*/
// TODO 由于 go对于多返回值的 支持
// TODO 加上 可以 直接赋值并判断的 写法
// TODO 可以直接接受 从函数返回的 变量 和 错误 形成上面这种 简洁高效的 编程模式
}
// switch
// TODO Go语言 的 多分支 case 默认有 break 兜底 所以不存在 case击穿的 情况
// TODO case 后面还可以组织 多个元素 无论命中哪个都可以进入case
// TODO switch-case 使用 条件表达式作为 case 进行串联 就是 if-else-if 结构的 简化写
func TestSwitchMultiCase(t *testing.T) {
for i := 0; i < 5; i++ {
switch i {
case 0, 2:
t.Log("Even")
case 1, 3:
t.Log("Odd")
default:
t.Log("it is not 0~3")
}
}
}
func TestSwitchCaseCondition(t *testing.T) {
for i := 0; i < 5; i++ {
switch {
case i%2 == 0:
t.Log("Even")
case i%2 == 1:
t.Log("Odd")
default:
t.Log("unknow")
}
}
}
循环结构
package loop
import "testing"
func TestWhileLoop(t *testing.T){
n := 0
for n < 5 {
t.Log(n)
n++
}
}