Go语言中文文档-02流程控制
条件语句if
条件语句switch
Type Switch: 判断某个interface变量中实际存储的变量类型。
点击查看代码
switch x.(type){
case type:
statement(s)
case type:
statement(s)
/* 你可以定义任意个数的case */
default: /* 可选 */
statement(s)
循环语句for
Go for循环的3种形式:
点击查看代码
for init; condition; post { }
for condition { }
for { }
循环控制Goto、Break、Continue
1.三个语句都可以配合标签(label)使用
2.标签名区分大小写,定以后若不使用会造成编译错误
3.continue、break配合标签(label)可用于多层循环跳出
4.goto是调整执行位置,与continue、break配合标签(label)的结果并不相同
条件语句select
类似于switch,但随机执行一个可运行的case。没有case可运行,将阻塞。
select中的case语句必须是一个channel操作
select中的default子句总是可运行的。
如果有多个case都可以运行,select会随机公平地选出一个执行,其他不会执行。
如果没有可运行的case语句,且有default语句,那么就会执行default的动作。
如果没有可运行的case语句,且没有default语句,select将阻塞,直到某个case通信可以运行。
循环语句range
range会复制对象, 所以尽量改用引用类型,使底层数据不被复制。
for 和 for range有什么区别?
主要是使用场景不同
for可以
遍历array和slice。
遍历key为整型递增的map。
遍历string。
for range可以完成所有for可以做的事情,却能做到for不能做的,包括。
遍历key为string类型的map并同时获取key和value。
遍历channel。

浙公网安备 33010602011771号