package main

import (
"fmt"
) func main() { var ar = [...]string{"A", "B", "D", "E"} for _, content := range ar {
switch content {
case "A":
fmt.Println("AAA")
case "B", "C", "D":
fmt.Println("BBB")
default:
fmt.Println("CCC")
} } }

  输出:

AAA

BBB

BBB

CCC

使用fallthrough,来向下一个case语句转移流程控制权,

package main

import (
"fmt"
) func main() { var ar = [...]string{"A", "B", "D", "E"} for _, content := range ar {
switch content {
case "A":
fallthrough
case "B", "C", "D":
fmt.Println("BBB")
default:
fmt.Println("CCC")
} } }

  输出:

BBB

BBB

BBB

CCC

类型switch语句:对类型进行判定,而不是值

package main

import (
"fmt"
) func main() { v := 11 switch i := interface{}(v).(type) { case int, int8, int16, int32, int64: fmt.Printf("A signed integer: %v. the type is :%T\n", v, v)
fmt.Printf("A signed integer: %v. the type is :%T\n", i, i)
case uint, uint8, uint16, uint32, uint64: fmt.Printf("A unsigned integer: %v. the type is :%T\n", v, v)
fmt.Printf("A unsigned integer: %v. the type is :%T\n", i, i) default: fmt.Println("Unknown!") } }

  输出:

A signed integer: 11. the type is :int

A signed integer: 11. the type is :int

package main

import (
"fmt"
) func main() { var v interface{}
v = "hi" switch v.(type) {
case string:
fmt.Printf("The string is %v \n", v.(string)) case int, int8, int16, int32, int64: fmt.Printf("A signed integer: %v. the type is :%T\n", v, v) case uint, uint8, uint16, uint32, uint64: fmt.Printf("A unsigned integer: %v. the type is :%T\n", v, v) default: fmt.Println("Unknown!") } }

  输出:

The string is hi

go ---switch语句的更多相关文章

  1. switch语句的妙用

    switch语句的普通用法很简单,如下: var a = 3; switch (a) { case 1: console.log(a); break; case 2: case 3: console. ...

  2. 106运用SWITCH语句打印星期几的单词

    package com.chongrui.test;/*运用SWITCH语句打印星期几的单词 * */ public class TypeConvertion { public static void ...

  3. 通过goto语句学习if...else、switch语句并简单优化

    goto语句在C语言中实现的就是无条件跳转,第二章一上来就介绍goto语句就是要通过goto语句来更加清楚直观的了解控制结构. 我理解的goto语句其实跟switch语句有相似之处,都是进行跳转.不同 ...

  4. Java中简单的操作(if语句、常用操作符、switch语句、变量赋值等)

    ---------------------if语句介绍--------------------------------------------------- class IfDemo { public ...

  5. Switch语句的case穿透

    Switch语句的case穿透 一 switch语句几点说明: 1. case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的. 2.case后面表达式可以接受: 基本数据类型,b ...

  6. ECMA中的switch语句

    switch借鉴自其他语言,但也有自己的特色. 1.可以在switch语句中使用任何数据类型(数值.字符串.对象等),很多其他语言中只能使用数值. 2.每个case的值不一定是常量,可以是变量或者表达 ...

  7. switch语句下的变量声明和定义

    switch语句下的变量声明和定义的问题: switch...case...语句中存在声明和定义会出现一些问题.这个由switch语法特性决定的, switch中每个case都是平等的层次,区别于一般 ...

  8. 透过IL看C#:switch语句(转)

    透过IL看C# switch语句(上) 摘要: switch语句是 C#中常用的跳转语句,可以根据一个参数的不同取值执行不同的代码.本文介绍了当向 switch语句中传入不同类型的参数时,编译器为其生 ...

  9. switch语句

    应用条件语句可以很方便地使程序实现分支,但是出现分支比较多的时候,虽然可以用嵌套的if语句来解决,但是程序结构会显得复杂,甚至凌乱.为方便实现多情况选择,C++提供了一种switch开关语句.   一 ...

  10. java switch语句注意的事项

    1.switch语句使用的变量只能是byte.char.short.string数据类型. 2.case后面gender数据必须是一个常量. 3.switch的停止条件: switch语句一旦比配上了 ...

随机推荐

  1. Java 8 Time Api 使用指南-珍藏限量版

    前面写过了Stream和Lambda,最近正想写Java 8的Time Api,小胖哥这个文章写得很好,就偷懒转载了. 1.概述 Java 8为Date和Time引入了新的API,以解决旧java.u ...

  2. 尚硅谷MySQL高级学习笔记

    目录 数据库MySQL学习笔记高级篇 写在前面 1. mysql的架构介绍 mysql简介 mysqlLinux版的安装 mysql配置文件 mysql逻辑架构介绍 mysql存储引擎 2. 索引优化 ...

  3. C# Net 比较2个字符串的相似度(使用余弦相似度)

    C# Net 比较2个字符串的相似度(使用余弦相似度) 复制代码使用: /// <summary> /// 比较2个字符串的相似度(使用余弦相似度) /// </summary> ...

  4. json序列化时间日期数据注意

    通过json序列化时间日期格式数据的时候需要注意,不能直接序列化,我写了一个类,可以借用 import json from datetime import datetime,date a = {'na ...

  5. springboot集成spring data ElasticSearch

    ES支持SpringBoot使用类似于Spring Data Jpa的方式查询,使得查询更加方便. 1.依赖引入 compile “org.springframework.boot:spring-bo ...

  6. frame标签和frameset

    框架: 属性 值 描述 frameborder 0 1 规定是否显示框架周围的边框. longdesc URL 规定一个包含有关框架内容的长描述的页面. marginheight pixels 定义框 ...

  7. Browse Princeton's Series (by Date) in Princeton Economic History of the Western World

    Browse Princeton's Series (by Date) in Princeton Economic History of the Western World Joel Mokyr, S ...

  8. C语言里面"具有外部链接的静态变量"这里的"链接"是什么意思

    首先从静态变量说起. C语言里面静态变量有三种: 分别是外部链接性,内部链接性和无链接性.声明外部链接的变量的方法是在代码块外面声明它. 此变量是全局变量,多文件中亦可用.声明内部链接的变量的方法是在 ...

  9. 【MyEclipse】安装svn插件

    svn插件包下载:http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 重启myeclipse 看import就 ...

  10. 生成随机文件名JS

    export default function (length) { const data = ["0", "1", "2", " ...