Golang 中 switch 、for

 

★switch 细节讨论

1)case 后是一个表达式(即:常量值、变量值、一个有返回值的函数等都可以)

2)case 后的各个表达式的值的数据类型,必须和switch的表达式数据类型一致

3)case 后面可以带多个表达式,使用逗号间隔。比如 case表达式1,表达式2...

4)case 后面的表达式如果是常量值,则要求不能重复 

5)case后面不需要带break,程序匹配到一个case后就回执行对饮的代码块,然后退出switch,如果一个都匹配不到,则执行default

6)default 语句不是必须的。

7)switch后可以不带表达式,类似多个if-else 分支来使用

8)switch后也可以之间声明/定义一个变量,分号结束,不推荐

9)switch穿透 fallthrough,如果在case语句块后增加fallthrough,则会继续执行下一个case,也叫switch穿透。

★for 细节讨论

1)for循环的第一种写法

//for 循环第一种写法
    for i :=1; i <= 10; i++ {
        fmt.Println("hello,ckfuture!");
    }

 

2)for循环的第二种写法

//for 循环的第二种写法
    j := 1
    for j <= 10 {
        fmt.Println("hello,world!")
        j++
    }

 

3)for循环的第三种写法(死循环),配合break使用

复制代码
//for 循环的第三种写法(死循环),配合 break使用
    k := 1
    for {
        if k <= 10 {
            fmt.Println("ok!")
        } else {
            break
        }
        k++
    }
复制代码

★字符串的遍历

1)字符串的遍历方式1-传统方式

//字符串的遍历方式1-传统方式
    var str string = "hello,world"
    for i := 0; i <= len(str); i++ {
        fmt.Printf("%c \n",str[i])
    }

 

2)字符串的遍历方式2-for-range 的方式,可以方便遍历字符串和数组

//字符串的遍历方式2-for-range 的方式,可以方便遍历字符串和数组
    str = "abc~ok"
    for index,val := range str {
        fmt.Printf("index=%d,val=%c \n",index,val)
    }

 

posted @   创客未来  阅读(284)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示