[Day08] swift & kotlin 入门篇!(6) 流程控制-循序,选择,重复

流程控制

基础语法过後就是流程控制了
流程控制结束就可以进入快乐的开发阶段搂~
流程控制是程序设计中 非常重要的概念
甚至可以说 所有功能 几乎都是靠流程控制 拼凑出来的

流程控制三大招 - 循序 选择 重复

swift

// 循序- 执行步骤是一步一步承续下来
print("第一步")
print("第二步")
print("第二步")

// 选择 if
let a = 10
let b = 15
if a > b {
    print("if a 大 ")
} else {
    print("if b 大 ")
}

// 选择 switch
switch a {
    case 10:
        print("switch a 是 10")
    case 10...15:// 很多语言的switch是无法做到区间判断的喔
        print("switch a 是 10 到 15之间的一个数")
    default:
        print("switch a 是 啥?")
}

// 重复
let list = ["10", "11", "12", "13","14", "15"]
for (val)  in list {
    print("list value is \(val) ")
}
for (val)  in 5...10 {
    print("value is \(val) ")
}
let myList =  ["user1": 10, "user2": 20, "user3": 30]
for (ind, val)  in myList{
    print("index is \(ind) value is \(val) ")
}
-------- 控制台输出 ------------
第一步
第二步
第二步
if b 大 
switch a 是 10
list value is 10 
list value is 11 
list value is 12 
list value is 13 
list value is 14 
list value is 15 
value is 5 
value is 6 
value is 7 
value is 8 
value is 9 
value is 10 
index is user3 value is 30 
index is user1 value is 10 
index is user2 value is 20

Swift 有个比较少见的 Range 类
是在其他语言比较少看到的
5...10 表 5~10 其实蛮直觉又好用的
期待之後实务上的应用

另外 switch case 的区间判断也蛮特别的
该使用if or switch ???
让我们後面再找范例说明

kotlin

fun main() {
    // 循序- 执行步骤是一步一步承续下来
    println("第一步")
    println("第二步")
    println("第二步")

    // 选择 if
    val a = 10
    val b = 15
    if (a > b) {
        println("if a 大 ")
    } else {
        println("if b 大 ")
    }

    // 选择 when
    when (a) {
        10 -> println("when a 是 10")
        in 10..15 -> println("when a 是 10 到 15之间的一个数") // kotlin range 是.. 而swift用...
        else -> println("when a 是 啥?")
    }

    // 重复
    val list = mutableListOf("10", "11", "12", "13","14", "15")
    for (value  in list) {
        println("只取 value is $value ") 
    }
    for ((ind, value)  in list.withIndex()) {
        println("index is $ind list value is $value ")
    }
    for ((_, value)  in (5..10).withIndex()) {
        println("value is $value ")
    }
    
    val myList =  mutableMapOf("user1" to 10, "user2" to 20, "user3" to 30)
    for ((ind, value)  in myList){
        println("map index is $ind value is $value ")
    }
}
-------- 控制台输出 ------------
第一步
第二步
第二步
if b 大 
when a 是 10
只取 value is 10 
只取 value is 11 
只取 value is 12 
只取 value is 13 
只取 value is 14 
只取 value is 15 
index is 0 list value is 10 
index is 1 list value is 11 
index is 2 list value is 12 
index is 3 list value is 13 
index is 4 list value is 14 
index is 5 list value is 15 
value is 5 
value is 6 
value is 7 
value is 8 
value is 9 
value is 10 
map index is user1 value is 10 
map index is user2 value is 20 
map index is user3 value is 30 

kotlin在for跑list上需特别注意几个关键字
list.indices 会只取出 index
list.withIndex() 同时取出 index 及 value
而map跑for时 本身就会带出index与value

差异

swift 有 switch
kotlin 有 when

其他语法上几乎都相同
明天会是基础的最後一章 类别与方法
到目前感受上 swift 与 kotlin 在基础语言上
写法差异并不大
然我们继续往下看看吧~。

小碎嘴时间 ヽ(゚´Д`)ノ゚

每次要学习一个新语言或框架
就会听到各种"过来人"说

学XXX才是正统 不然你根本不知道自己在干嘛

o(〒﹏〒)o

常常就很想说...
O-(/// ̄皿 ̄)☞ ─═≡☆゜★█▇▆▅▄▃▂_  去去我气走

真想好好从头学习呀~
我看我从 基本电学 系统架构 计算机概论 ....
好好学个一轮好了

不不不~~~~吓死宝宝
是不是该重回大学念书了....

算了~像我这种半路出家非本科系走偏路的小嫩B
只能靠 "实用路线" 行走江湖 骗吃骗喝 ( ͡ ͡° ͜ ʖ ͡ ͡°)

那些基本功我们在有闲暇时间再努力补补吧......
前阵子很用力嗑了
Clean Code , Clean Coder, Working Effectively with Legacy Code
搞得我头昏脑胀七荤八素

越念这些书越佩服读资讯科系的人
学生时期应该大部分没经历过真正的团队开发
要全凭文字与书本来学习那些 "锥心刺骨"的经验
看得懂!? 认真可以理解!? 这些书在学生时期嗑的下去!!??!??

请收下我的膝盖 m(__)m


<<:  [前端暴龙机,Vue2.x 进化 Vue3 ] Day7. Vue资料的使用方式

>>:  【Day 01】中台架构浪潮与启示

框架与挑选实作的阶段 | ML#Day17

以下是我自己这一路学习ML过程中,整理出来的ML研究与实作,使用的演进脉络,纯属个人观感,并未有任何...

{DAY 22} Pandas 学习笔记part.8

前言 这篇文章主要会提到资料分组 会继续利用kaggle上的开源资料进行更多的pandas练习 Ka...

Day 28:合并排序法 Merge Sort

Merge Sort采用Divide and Conquer的方式,其实他的概念本身就是递回(rec...

[Day12] placeholder for test day 18

写在前面 placeholder for test day 18 placeholder for t...

【PHP Telegram Bot】Day07 - 安装 VS Code 并撰写第一支程序

俗话说得好:「工欲善其事,必先利其器」。 没有一个好用的文字编辑器,要如何轻松愉悦的写程序呢? 安...