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

有没有什么专门做兼职的网站外链生成

有没有什么专门做兼职的网站,外链生成,龙岗seo网络推广,哪些网站可以进行域名注册文章目录 基本语法1. 特点1.1 不需要break1.2 表达式可以是任何类型1.3 省略比较表达式1.4 多值匹配1.5 类型switch1.6 case穿透1.7 switch后直接声明变量1.7.1 基本语法1.7.2 带比较表达式1.7.3 不带比较表达式1.7.4 结合类型判断 1.8 switch后的表达式必须与case语句中的表达…

文章目录

  • 基本语法
  • 1. 特点
    • 1.1 不需要break
    • 1.2 表达式可以是任何类型
    • 1.3 省略比较表达式
    • 1.4 多值匹配
    • 1.5 类型switch
    • 1.6 case穿透
    • 1.7 switch后直接声明变量
      • 1.7.1 基本语法
      • 1.7.2 带比较表达式
      • 1.7.3 不带比较表达式
      • 1.7.4 结合类型判断
    • 1.8 switch后的表达式必须与case语句中的表达式类型一致

Go语言的switch语句是一种多分支选择结构,比传统的if-else链更清晰。Go中的switch有一些独特的特性。

基本语法

switch expression {
case value1:// 代码块
case value2:// 代码块
default:// 默认代码块
}

1. 特点

1.1 不需要break

Go的switch case默认不会"贯穿"(fallthrough),执行完一个case后会自动退出switch。因此不需要和C语言一样在每个case语句之后写break。

1.2 表达式可以是任何类型

表达式可以是任何类型,不限于整数或常量。表达式可以是函数,也可以是逻辑判断,设置可以是字符串和浮点数。
代码如下:

	// 表达式为字符串var str = "nihao"switch str {case "hl":fmt.Printf("hl\n")case "nihao":fmt.Printf("nihao\n")default:fmt.Printf("err\n")}// 表达式为浮点数var my_float = 20.3switch my_float {case 20.1:fmt.Printf("20.1\n")case 20.3:fmt.Printf("20.3\n")default:fmt.Printf("err\n")}// 表达式为逻辑判断switch 1 < 2 {case true:fmt.Printf("true\n")case false:fmt.Printf("false\n")default:fmt.Printf("err\n")}// 表达式为函数switch my_func() {case 1:fmt.Printf("1\n")case 2:fmt.Printf("2\n")default:fmt.Printf("err\n")}func my_func() uint8{return 2;}

运行结果:

nihao
20.3
true
2

1.3 省略比较表达式

代码如下:

/* 省略表达式的形式 可代替if-else结构 */var score = 80switch {case score >= 90:fmt.Println("优秀")case score >= 80:fmt.Println("良好")default:fmt.Println("一般")}

运行结果:

良好

1.4 多值匹配

代码如下:

	/* 多值匹配 */var day = 7switch day {case 6, 7:fmt.Println("周末")case 2, 3, 4, 5, 1:fmt.Println("工作日")}

运行结果:

周末

C语言实现多值匹配:

switch (day) {case 1:case 2:case 3:case 4:case 5:printf("工作日\n");break;case 6:case 7:printf("周末\n");break;
}

1.5 类型switch

代码如下:

	/* 类型switch */var x interface{} = "hello"var y interface{} = 5switch x.(type) {case int:fmt.Println("整数")case string:fmt.Println("字符串")default:fmt.Println("未知类型")}switch y.(type) {case int:fmt.Println("整数")case string:fmt.Println("字符串")default:fmt.Println("未知类型")}

运行结果:

字符串
整数

1.6 case穿透

go语言没有break,执行完case语句默认跳出switch语句。但是如果使用fallthrough,可穿透case,即执行完当前case语句不直接跳出switch语句,将不进行判断直接进入下一个case语句执行。
代码如下:

	var n = 1switch n {case 1:fmt.Println("n = 1")fallthroughcase 2:fmt.Println("n <= 2")case 3:fmt.Println("n = 3")}

运行结果:

字符串
n = 1
n <= 2

1.7 switch后直接声明变量

1.7.1 基本语法

switch variable := expression; variable {
case value1:// 使用variable
case value2:// 使用variable
default:// 使用variable
}

1.7.2 带比较表达式

	/* switch后直接声明变量,带比较表达式 */switch num := 5; num {case 1:fmt.Println("One")case 2:fmt.Println("Two")default:fmt.Println("Unknown number:", num)}

运行结果:

Unknown number: 5

1.7.3 不带比较表达式

	/* switch后直接声明变量,不带比较表达式 */switch age := 18; {case age < 18: fmt.Println("未成年")case age >= 18 && age < 60:fmt.Println("成年人")default:fmt.Println("老年人")}

运行结果:

成年人

1.7.4 结合类型判断

	/* switch后直接声明变量,不带比较表达式,结合类型判断 */var x interface{} = "hello"switch v := x.(type) {case int:fmt.Printf("整型: %d\n", v)case string:fmt.Printf("字符串: %s\n", v)default:fmt.Printf("未知类型: %v\n", v)
}

运行结果:

字符串: hello

1.8 switch后的表达式必须与case语句中的表达式类型一致

switch后的表达式和case语句中的表达式是要做比较动作的,因此类型需要报错一致,在
Go语言运算符详解
中的注意事项中提到,不同类型的值不能直接运算,必须显式转换。
如下图代码所示:str是string类型,20.1和20.3是浮点型,因此报错。
在这里插入图片描述

http://www.dtcms.com/wzjs/318300.html

相关文章:

  • 深圳做网站排名网络优化的基本方法
  • 深圳专业网站开发公司免费友链互换
  • 网站的专题怎么做海南百度推广公司
  • 建设网站怎么收费标准seo关键词优化公司
  • 哪个网站可以做海报站长工具seo综合查询访问
  • wordpress教程 mac sql郑州seo优化大师
  • 武汉网站建设老牌公司谷歌关键词排名优化
  • 2021没封的网站有人分享吗福州外包seo公司
  • 做律师百度推广的网站企业培训机构
  • 补肾吃什么东西效果最好seo网站关键词优化价格
  • 如何用discuz做网站服务推广软文范例
  • 做搜索网站能发财吗深圳网站设计公司哪家好
  • 拼多多网站怎么做口碑营销策略
  • 做一件代发网站网站网上推广
  • 网站建站如何做seo武汉seo网站优化
  • 如何用wordpress做企站深圳网站建设运营
  • 甘肃做网站的网络公司公司网站设计制作
  • 京东b2c网站是怎么营销宣传产品的方式
  • 搜狗网址大全下载安装深圳网站设计十年乐云seo
  • 织梦网站安装视频手机网站怎么优化关键词
  • 优秀高端网站建设报价seo关键词优化技术
  • 做网站可以做哪些方面的上海做网站优化
  • 常州注册公司代办注册九幺seo优化神器
  • cc域名有哪些知名网站今日头条新闻军事
  • 建设网站制作项目描述郑州推广优化公司
  • 大学网站建设论文软文是啥意思
  • 没企业可以做网站吗今日小说百度搜索风云榜
  • 怎样做网站才不能被攻破百度在线客服问答
  • 网站建设 知识产权新闻最近新闻10条
  • 同城购物网站建设成本seo人才