Go系列一第三篇 -- 条件和循环

go的条件判断和循环

while 循环

func TestIf(t *testing.T){
	n := 0
	for n < 5 {
		n++;
		fmt.Print(n)
	}
}

无限循环

for{
	....	
|}

for循环

for i := 0; i < 10; i++ {
	fmt.Print(i)
}

if条件判断

第一种 if…else…

i:=1
if condition {
....	
}else if condition {
.....
}else{
.....
}

第二种 支持变量赋值

if var declaration; condition {
	code to be executed if condition is true
}

if i := 10; i == 10 {
 i++
}

if v,err := someFun();err == "" {
	fmt.Print(v)
}else{
	fmt.Print(v)
}
//功能
func someFun()(int , string){
	return 1 , ""
}

注意点:

  1. condition表达式结果必须为布尔值
  2. 支持变量赋值

switch条件

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

示例-1 普通switch

func TestSwitch(t *testing.T)  {
	switch os := runtime.GOOS;os {
	case "darwin":
		t.Log("darwin")
	case "freebsd":
		t.Log("freebsd")
	case "linux":
		t.Log("linux")
	default:
		t.Log("window")
	}
}

示例-2 不设定switch之后的条件表达式

func TestSwitch2(t *testing.T)  {
	num := 10
	switch {
	case num > 0 && num <= 10:
		t.Log("小孩子")
	case num > 10 && num <= 20:
		t.Log("青少年")
	default:
		t.Log("成人了")
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值