Day 13 - 基本语法8(函式2)

昨天我们学完了函式的基础用法以及讲解,今天要写的是进阶用法。

会这样分两天是因为我觉得有一点难,可以给大家消化一下。

讲解昨天未讲到的

func ac (x: Int) 是定义函式的写法;func 函式名称(参数名称: 参数型别)

这边很容易搞混,连我自己都搞混了........这边要特别注意!

套娃

var ainput = 3

func ac(x: Int) -> Int{
    var k = x * 2
    if k < 10{
        k = ac(x: k)
        return k
    }else{
        return k
    }
}

let a = ac(x: ainput)
print("Answer is",a)

先let a = ac(x: ainput) 所以就会去call ac函式,接着因为乘2 k然然未达10,所以回去再call一次ac。

呼叫另一个函式

var ainput = 3

func ac(x: Int) -> Int{
    var k = x * 2
    if k < 10{
        k = ac2(x: k)
        return k
    }else{
        return k
    }
}
func ac2(x: Int) -> Int{
    let k = x * 2
    return k
}

let a = ac(x: ainput)
print("Answer is",a)

这边一样先call ac 但没超过10 所以回去call ac2 接着会回传值回传ac ,接着return回let a 那一行,就结束了。

没有回传值

var ainput = 3

func ac(x: Int) {
    var k = x * 2
    if k < 10{
        print("<10")
    }else{
        print(">10")
    }
}

let a = ac(x: ainput)

这边你可以直接看let那一行,这时传入什麽值也不重要,因为也没有回传值,但这边你可以看到就是一个呼叫function的动作,判断是否大於10。

预设参数值

swift 中的func是可以设定为预设参数值的,也就是说你就不需要有输入值了,每次呼叫函式都会有固定的输入值。

func ac(x: Int = 1) {
    print(x)
}

ac()

这样子就会印出a了

多参数输入

我们有时候输入参数值时,并非每次都输入一个值,偶尔也会输入两个值等等,这时候就要使用多参数值输入。

func ac(n1: Int = 1 , n2 : Int = 2) {
    print(n1 + n2)
}

ac()

当然,三个也没有问题

func ac(n1: Int = 1 , n2 : Int = 2 , n3: Int = 100) {
    print(n1 + n2 + n3)
}

ac()

总结

今天讲的主要还是比较基本的函数使用的方法,还有很多我没有讲到的,有兴趣建议多学一点,不过我讲的基本上也都可以用了,也就是说剩下的建议你可以要用再去查就好。

本文参考资料:本站大佬 通灵亡


<<:  [Day4] 实作 - 主角篇

>>:  DAY11-JAVA的类别(5)

[Day07] Vue i18n - Datetime Formatting

在本地化 (localize) 专案时,我们可能会遇到需要处理日期时间显示的问题,因为日期时间的显示...

GitHub Self-hosted runners - 自订代理程序环境的最佳选项

Self-hosted runners 介绍 在前面几篇文章实作 GitHub Action Wor...

成为工具人应有的工具包-28 LastActivityView

LastActivityView 今天来认识这个看就知道是看这台电脑上一步做了啥动作的工具! 调查的...

[Day18] Vue 3 单元测试 (Unit Testing) - Conditional rendering & Elements visibility

Conditional Rendering 在写元件时最常见的就是会使用 v-if 来动态插入和删除...

Day16 PHP的常用函数-1:数学、字符串函数

数学函数 ceil(): 进上取整 echo ceil(9.99999); // 10 floor(...