go学习笔记--条件和循环

Go学习笔记

条件和循环

for循环

  • 与其他主要编程语言的差异,go仅支持循环关键字for
while 条件循环
while < 5
n := 0
for n < 5 {
	n++
	fmt.Println(n)
}
while 无限循环
while(true)
n := 0
for {
	...
}

test code

package loop_test

import "testing"

func TestWhileLoop(t *testing.T){
        n := 0
        for n < 5{
                t.Log(n)
                n++
        }
}

if 条件

与其他主要编程语言的差异

  1. condition 表达式结果必须是布尔值bool
  2. 支持变量赋值
if var declaration; condition {
	// code to executed if the condition is true
}
package condition_test

import "testing"

func TestIfMultiSec(t *testing.T){
        if a := 1 == 1; a{
                t.Log("1==1")
        }
}
func TestIfMultiSec1(t *testing.T){
        if v,err := someFun(); err==nil{
                t.Log("1==1")
        }else{
                t.Log("error")
        }
}

switch 条件

与其他主要编程语言的差异

  1. 条件表达式不限制为常量或者整数;
  2. 单个 case 中,可以出现多个结果选项,使用逗号分隔; 与 C 语言等规则相反,Go 语言不需要用break 来明确推出一个
    case;
  3. 可以不设定 switch 之后的条件表达式,在次情况下,整个 switch 结构与多个 if…else…的逻辑作用等同
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 TestSwitchMultiCondition(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("it is not 0-3")
                }
        }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值