php网站虚拟机,wordpress移动主题设计,大同网站开发,厦门市建设局官方网站证书查询点击上方蓝色 “铁匠学编程” 关注我#xff0c;让我们一起学习#xff01;switch语句会根据传入条件不同#xff0c;选择不同的分支执代码进行执行#xff0c;他可以代替多个 if else 子句#xff0c;Go 语言的分支语句和 PHP 的类似#xff0c;Go 不需要显示的通过brea… 点击上方蓝色 “铁匠学编程” 关注我让我们一起学习 switch语句会根据传入条件不同选择不同的分支执代码进行执行他可以代替多个 if else 子句Go 语言的分支语句和 PHP 的类似Go 不需要显示的通过break 进行退出。package mainimport fmtfunc main() { score : 100 switch { case score 90: fmt.Println(Grade: A) case score 80 score 90: fmt.Println(Grade: B) case score 70 score 80: fmt.Println(Grade: C) case score 60 score 70: fmt.Println(Grade: D) default: fmt.Println(Grade: F) }}在上面的程序中switch 会将 score 与每个 case 语句进行从上到下的比较并执行与选项匹配的第一个代码块进行执行。注意此处的 score 不能放到 switch 后面否则会报错只有在进行分支判断时候才可以在选项列表中不允许出现重复相等的条件判断如下package mainimport fmtfunc main() { score : 100 switch { case score 90: fmt.Println(Grade: A) case score 90: ... default: fmt.Println(Grade: F) }}上面的程序编译时会报错。在Go语言中我们可以用逗号分隔不同的分支条件来合并分支语句如 case 90,100 这里我们不能像PHP 那样通过多个相邻的 case 语句来合并相同的分支语句如下package mainimport fmtfunc main() { switch score : 99; score { case score 90: // 此时被m默认为空语句直接退出 case score 95: fmt.Println(grade A) case score 80, 85: fmt.Println(grade B) default: fmt.Println(grade F) }}上面的例子中我们都添加了默认情况就是在所有的分支语句都不匹配的时候将运行默认情况他的位置并不一定在最后任何地方都可以。fallthrough前面我们说到不能通过相邻的 case 语句来合并相同的分支语句我们可以通过 逗号 分隔来进行执行多个条件来合并语句。Go 语言在执行完某一个条件分支之后会自动退出当前条件语句如果还想继续执行后续的分支语句可以通过 fallthrough 来继续执行后面的分支语句。如下package mainimport fmtfunc main() { score : 60 switch score { ... case 60: fallthrough case 65: fmt.Println(Grade: D) ... } }此时就相当于合并了 case 60 和case 65 两个分支语句。Go语言 的 Reflect 会根据类型断言进行判断后面分享 反射的时候再来说。如果您看到了我的文章欢迎留下意见和建议指出不足。感谢加油不仅自己还有你