当前位置: 首页 > news >正文

北京网站建设公司飞沐网站建设是怎么建的

北京网站建设公司飞沐,网站建设是怎么建的,网站建设方法总汇,网络营销软文范例在Go语言中,switch,是一个高度灵活,其功能强大的控制结构,相比较Java中的switch,更受到语言重视。 目录 1.基础用法2.多值匹配3.不指定表达式的 switch4.使用 fallthrough 强制进入下一个分支5.使用类型断言的 switch…

Go语言中,switch,是一个高度灵活,其功能强大的控制结构,相比较Java中的switch,更受到语言重视。

目录

      • 1.基础用法
      • 2.多值匹配
      • 3.不指定表达式的 switch
      • 4.使用 fallthrough 强制进入下一个分支
      • 5.使用类型断言的 switch
      • 6.嵌套 switch
      • 7. switch 用于优化复杂条件
      • 总结


它不仅可以替代多层 if-else,还能在更复杂的逻辑中灵活应用。下面详细讲解 switch 的深度用法,并结合示例展示如何充分发挥其功能。

1.基础用法

switch 的基础语法用来匹配单个变量的值:

package mainimport "fmt"func main(){x:=2switch x{case 1:fmt.println("x 等于 1");case 2:fmt.println("x 等于 2");case 3:fmt.println("x 等于 3");}
}

2.多值匹配

每个case分支可以匹配多个值,使用逗号分隔。

package mainimport "fmt"func main(){day:="Tuesday"switch day{case "Mondey","Tuesday","Wednesday":fmt.Println("这是工作日")case "Saturday","Sunday":fmt.Println("这是周末")default:fmt.Println("无效的天数")}}

3.不指定表达式的 switch

Go中的switch可以省略表达式,直接用作条件分支判断,这类似于多层if-else

package mainimport "fmt"func main(){x:=1switch{case x > 0:fmt.Println("正数")case x < 0:fmt.Println("负数")default:fmt.Println("0")}
}

4.使用 fallthrough 强制进入下一个分支

默认情况下,swich在匹配到一个case后会退出。如果想继续执行下一个case,可以使用 fallthrough 关键字。

package mainimport "fmt"func main() {switch x := 1; x {case 1:fmt.Println("x 是 1")fallthroughcase 2:fmt.Println("这行会执行,因为 fallthrough")default:fmt.Println("默认分支")}
}
注意:fallthrough 不会重新检查条件,仅执行下一个分支。

5.使用类型断言的 switch

switch 可以配合类型断言使用,用来处理接口的不同类型

package mainimport "fmt"func main() {var i interface{} = 42 // i 可以是任意类型switch v := i.(type) {case int:fmt.Printf("i 是 int,值为 %d\n", v)case string:fmt.Printf("i 是 string,值为 %s\n", v)case bool:fmt.Printf("i 是 bool,值为 %t\n", v)default:fmt.Printf("未知类型: %T\n", v)}
}

6.嵌套 switch

switch 中嵌套另一个switch以实现更复杂的条件逻辑。

package mainimport "fmt"func main() {x := 10switch {case x > 0:fmt.Println("x 是正数")switch {case x%2 == 0:fmt.Println("x 是偶数")default:fmt.Println("x 是奇数")}case x < 0:fmt.Println("x 是负数")default:fmt.Println("x 是零")}
}

7. switch 用于优化复杂条件

当条件分支过多时,用 switch 可以避免冗长的 if-else 语句,提高代码可读性。

package mainimport "fmt"func main() {grade := 85switch {case grade >= 90:fmt.Println("优秀")case grade >= 75:fmt.Println("良好")case grade >= 60:fmt.Println("及格")default:fmt.Println("不及格")}
}

总结

通过灵活使用 switch,可以使代码更清晰、更易维护,是 Go 中不可或缺的控制结构之一。
  • 简单匹配:直接匹配变量值。
  • 多值匹配:每个 case 可以匹配多个值。
  • 条件判断:不指定表达式时,switch 等价于多层 if-else。
  • 类型判断:结合类型断言实现不同类型处理。
  • 灵活控制:使用 fallthrough 控制分支流转。

在结尾处,我就替大家回答一个疑惑。
Java 中 switch 不是不太支持使用吗?为什么在 Go 中却备受重视?

Go 的哲学:简单直接

  • Go语言倡导简单性与直接性,尽量避免复杂的继承和多态结构。
  • switch 被设计得功能很强大,适用于多种场景(值判断、逻辑分支、类型断言),因此在 Go 中更受重视。

Java 的哲学:面向对象优先

  • Java 是典型的面向对象语言,设计中更强调通过类和接口解决问题。
  • 对于复杂的条件判断,Java 倾向于使用多态或设计模式,switch 的使用场景相对有限。

希望大家收获,到此结束喽
( ̄︶ ̄)↗ 高抬贵手,一键三联。略略

http://www.yayakq.cn/news/656276/

相关文章:

  • 做网站后端需要掌握什么技术山东网络推广公司
  • 夏天做啥网站致富北京官网seo收费
  • php网站后台上传图片有没有推荐到首页的功能帮别人做网站的公司是外包吗
  • 房地产网站做百度推广静态网站制作流程
  • 网站建设必要性和意义建立网站做淘客
  • 凡科建站官网登录石家庄 外贸网站建设公司
  • 手机网站宽度哪个网站有适合小学生做的题
  • 网站免备案空间网站建设需要学多久知乎
  • 网站建设最低价金蝶软件怎么打印凭证
  • 企业网站 管理网站建设公司推销
  • 建设银行网站怎么登录密码android获取Wordpress数据库
  • 英文网站推荐wordpress 时区插件
  • 网站的宣传推广包括学校网站建设介绍
  • 网站备案 山东核验点推广方式单一
  • 建好网站是不是每年都要交钱网站建设项目需求说明
  • 网站建设资料准备网站用户注册增加办法
  • 网站上传在空间哪里有什么网站可以做投票功能
  • 微网站 留言板电商类公司网站应该怎么搭建
  • 网站如何备案雷达图 做图网站
  • 网站结构seo做网站的p什么2003
  • 电气毕业设计代做网站星巴克vi设计分析
  • 北京住房与城乡建设厅网站首页百度浏览器电脑版
  • 硅胶 技术支持 东莞网站建设域名和网址
  • 做网批有专门的网站吗wordpress和t
  • 网站备案怎么转入网站建设合同 包括什么
  • 建视频网站系统青岛东八区创意做网站
  • 怎么做直播室的网站淮安企业网站制作
  • dede后台网站地图怎么做wordpress支付宝红包
  • 网站主题 模板开源短视频sdk推荐
  • 福州作公司网站的公司南京定制网站