iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Go语言之Switch语句怎么使用
  • 526
分享到

Go语言之Switch语句怎么使用

2023-07-02 13:07:29 526人浏览 泡泡鱼
摘要

这篇“Go语言之Switch语句怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言之Switch语句怎么使用”文

这篇“Go语言之Switch语句怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言之Switch语句怎么使用”文章吧。

基本语法

在讲述if-else时已经提到,如果有多个判断条件,Go语言中提供了Switch-Case的方式。如果switch后面不带条件相当于switch true

// Convert hexadecimal character to an int value switch { case '0' <= c && c <= '9':     return c - '0' case 'a' <= c && c <= 'f':     return c - 'a' + 10 case 'A' <= c && c <= 'F':     return c - 'A' + 10 } return 0

fallthrough使用方法

默认情况下,case满足执行后会进行break,后面case即使满足条件也不再循环,如果想继续执行,则需要添加fallthrough,

package mainimport "fmt"func main() {    i := 3    switch i {    case i > 0:        fmt.Println("condition 1 triggered")        fallthrough    case i > 2:        fmt.Println("condition 2 triggered")        fallthrough    default:        fmt.Println("Default triggered")    }}

此时所有的case都会被执行

condition 1 triggered
condition 2 triggered
Default triggered

多条件匹配

如果同一个条件满足,也可以这样罗列到同一条件,相当于或条件

switch i {    case 0, 1:        f()    default:        g()}

判断接口(interface)类型

空接口

后面我们会讲到接口,通过switch可以对type进行判断,获取接口的真实类型。

package main  import "fmt"  func main() {    var value interface{}    switch q:= value.(type) {       case bool:       fmt.Println("value is of boolean type")       case float64:       fmt.Println("value is of float64 type")       case int:       fmt.Println("value is of int type")       default:       fmt.Printf("value is of type: %T", q)   }}

在上面的例子中,我们定义了一个空接口

var value interface{}

同时使用switch来判断类型

switch q:= value.(type) {

由于空接口没有内容,所以类型为nil,触发了default

value is of type: <nil>

获取实际类型

我们对上面的例子进行改造,同时让空接口拥有实际的值,再来看看执行的效果

package mainimport "fmt"func valueType(i interface{}) {    switch q:= i.(type) {       case bool:       fmt.Println("value is of boolean type")       case float64:       fmt.Println("value is of float64 type")       case int:       fmt.Println("value is of int type")       default:       fmt.Printf("value is of type: %T\n", q)   }}func main() {    person := make(map[string]interface{}, 0)    person["name"] = "Alice"    person["age"] = 21    person["height"] = 167.64    fmt.Printf("%+v\n", person)    for _, value := range person {        valueType(value)    }}

这里有几个还没有讲到的知识点:

  • 函数的定义方法

  • 定义了一个map,但是值的类型为空接口,意思就是可以是任何类型的值,这在接口章节还会详细讲解,所以大家看到这里不要纠结,继续往下看

  • 赋值时,特意给value不同的类型, string/int/float类型

最后通过循环将变量传给valueType函数,看看程序输出什么结果

map[age:21 height:167.64 name:Alice]
value is of type: string
value is of int type
value is of float64 type

以上就是关于“Go语言之Switch语句怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: Go语言之Switch语句怎么使用

本文链接: https://www.lsjlt.com/news/342349.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Go语言之Switch语句怎么使用
    这篇“Go语言之Switch语句怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言之Switch语句怎么使用”文...
    99+
    2023-07-02
  • Go语言学习之Switch语句的使用
    目录基本语法fallthrough使用方法多条件匹配判断接口(interface)类型空接口获取实际类型基本语法 在讲述if-else时已经提到,如果有多个判断条件,Go语言中提供了...
    99+
    2024-04-02
  • c语言switch case语句怎么使用
    switch case语句是C语言中的一种流程控制语句,它用于根据不同的条件执行不同的操作。以下是switch case语句的基本语...
    99+
    2023-09-05
    c语言
  • c语言中的switch语句怎么使用
    在C语言中,switch语句用于根据不同的情况执行不同的操作。其基本语法如下: switch (expression) { ...
    99+
    2024-04-02
  • C语言的switch分支语句怎么使用
    这篇文章主要介绍了C语言的switch分支语句怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言的switch分支语句怎么使用文章都会有所收获,下面我们一起来看看吧。1、了解switch分支语句swi...
    99+
    2023-07-02
  • JavaScript Switch语句怎么使用
    JavaScript中的Switch语句用于根据不同的条件执行不同的代码块。以下是Switch语句的使用方法:1. 使用Switch...
    99+
    2023-09-05
    JavaScript
  • PHP Switch语句怎么使用
    PHP的Switch语句用于根据不同的条件执行不同的代码块。其基本语法如下:```phpswitch (expression) {c...
    99+
    2023-09-05
    PHP
  • Go语言中defer语句怎么使用
    今天小编给大家分享一下Go语言中defer语句怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.在一个函数内的def...
    99+
    2023-07-02
  • PHP Switch语句怎么用
    PHP中的Switch语句用于根据不同的条件执行不同的代码块。以下是Switch语句的基本语法:```switch (express...
    99+
    2023-09-05
    PHP
  • Go语言break停止语句怎么使用
    这篇文章主要介绍“Go语言break停止语句怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go语言break停止语句怎么使用”文章能帮助大家解决问题。在Go语言中,break停止语句用于循环...
    99+
    2023-07-05
  • go语言的跳转语句怎么使用
    这篇文章主要介绍“go语言的跳转语句怎么使用”,在日常操作中,相信很多人在go语言的跳转语句怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”go语言的跳转语句怎么使用”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-04
  • C语言switch语句详解
    目录switch 分支结构快速入门代码演示switch 细节讨论switch 和 if 的比较案例:总结 switch 分支结构 快速入门 案例: 请编写一个程序,该程序可以接收一...
    99+
    2024-04-02
  • Go语言的条件语句怎么使用
    本篇内容主要讲解“Go语言的条件语句怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go语言的条件语句怎么使用”吧!1、if...else判断语法语法的使用和其他语言没啥区别。样例代码如下...
    99+
    2023-06-30
  • Go语言break跳转语句怎么使用
    目录基本介绍基本语法示意图细节说明案例基本介绍 break语句用于终止某个语句块的执行,用于中断当前for循环或跳出switch语句 基本语法 { .......... break ...
    99+
    2023-01-16
    Go break Go跳转语句
  • Go语言学习之条件语句使用详解
    目录1、if...else判断语法2、if嵌套语法3、switch语句4、类型switch语句5、fallthrough关键字使用小结1、if...else判断语法 语法的使用和其他...
    99+
    2024-04-02
  • 怎么在php中使用switch语句
    本篇文章为大家展示了怎么在php中使用switch语句,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext ...
    99+
    2023-06-14
  • Go语言学习之循环语句使用详解
    目录1、for循环2、for-each语法3、break的使用4、continue的使用5、goto的使用1、for循环 写法基本和其他语言一致,只是没有了while循环,用for代...
    99+
    2024-04-02
  • Go语言中的条件语句怎么使用
    这篇文章主要介绍“Go语言中的条件语句怎么使用”,在日常操作中,相信很多人在Go语言中的条件语句怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go语言中的条件语句怎么使用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-30
  • PHP中Switch语句怎么用
    这篇文章给大家分享的是有关PHP中Switch语句怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。PHP Switch 语句的用法:switch 语句用于根据多个不同条件执行不同动作。switch语句流程图如...
    99+
    2023-06-15
  • switch语句有什么用
    这篇文章主要介绍了switch语句有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。switch语句在一些计算机语言中是保留字,其作用大多情况下是进行判断选择,以C语言来...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作