扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
switch是最灵活的一种控制语句,在使用switch时候,需要注意:
成都创新互联是一家从事企业网站建设、成都做网站、成都网站设计、成都外贸网站建设、行业门户网站建设、网页设计制作的专业网站设计公司,拥有经验丰富的网站建设工程师和网页设计人员,具备各种规模与类型网站建设的实力,在网站建设领域树立了自己独特的设计风格。自公司成立以来曾独立设计制作的站点近千家。--左花括号"{"必须与switch处于同一行
--条件表达式不限制为常量或者整数
--单个case中,可以出现多个结果选项
--与C语言等规则相反,G0语言不需要break来明确退出一个case
--只有在case中明确添加fallthrough关键字,才会继续执行紧跟的下一个case
--可以不设定switch之后的条件表达式,在此种情况下,整个switch结构与多个if....else的逻辑作用等同
--可以有任意数量的case语句在switch内,每个case后跟值进行比较,以及一个冒号
--在switch语句中使用的表达式必须具有整体或布尔表达式,或者是一个类型,如果表达式不通过,默认值为true
--constant-expression的情况,必须是相同的数据类型,在switch的变量,它必须是一个常量或文字
--switch语句可有一个可选的default,它必须出现在switch语句的末尾,default可用于在没有任何case为真时执行任务,default之后不需要break语句
流程图
egg1:
package main
import "fmt"
func main() {
var grade string = "A"
switch {
case grade == "A":
fmt.Printf("Good....\n")
case grade == "B":
fmt.Printf("Well Done....\n")
case grade == "C":
fmt.Printf("Ok....")
default:
fmt.Printf("iNVALID grade....\n")
}
fmt.Printf("Your grade is %s\n", grade)
}
egg2:
package main
import "fmt"
func main() {
switch a := 1; {
case a >= 0:
fmt.Printf("a>=0")
fallthrough //如果不加这个只会打印a>=0,不会执行后面的a>=1的语句,若要让每个case都判断,都要在case 后面加 fallthrough
case a >= 1:
fmt.Printf("a=1")
default:
fmt.Printf("not found...")
}
}
##需要注意的是跟在switch属于局部的变量,只能在内部实现访问,若要全局必须在switch外部
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流