【Swift】学习笔记(六)——函数

【Swift】学习笔记(六)——函数,第1张

概述函数  懂编程语言的来说这个是最基本的了,任何语言都有函数这个概念,函数就是完成特定任务的独立代码块。 函数怎么创建: 1、创建一个无参无返回值的函数(实际上所有的函数都有返回值,这个函数返回void,它是一个空元组) func testFunc(){ } 2、创建一个带返回值的函数 func testFunc() -> String{ return "hello"} 3、创建

函数 懂编程语言的来说这个是最基本的了,任何语言都有函数这个概念,函数就是完成特定任务的独立代码块。


函数怎么创建:

1、创建一个无参无返回值的函数(实际上所有的函数都有返回值,这个函数返回voID,它是一个空元组)

func testFunc(){    }

2、创建一个带返回值的函数
func testFunc() -> String{    return "hello"}

3、创建一个带参数和返回值的函数
func testFunc(name: String) -> String{    return "hello"+name}

4、创建一个带多个参数和多个返回值的函数
func testFunc(name: String,age: Int) -> (myname:String,myAge:Int){    return (name,age)}

5、创建带参数名称的函数
func testFunc(myname name: String,myAge age: Int) -> (myname:String,age)}

ps:调用

testFunc(myname:"小王",myAge:18)


6、第5中的另外一种写法,就是外部参数名和局部变量名是一样的时候。

func testFunc(#name: String,#age: Int) -> (myname:String,age)}testFunc(name: "小王",age: 18)

7、创建带默认值参数的函数
func testFunc(#name: String,age: Int = 10) -> (myname:String,age: 18)

ps:带默认值的参数要么不指定外部参数名(swift会自己默认指定一个就相当于带了#号了)要么必须指定,不能用#号


8、创建可变参数的函数

func allNums(nums: Double...) -> Double{    var totalNum: Double = 0    for num in nums{        totalNum += num    }    return totalNum}allNums(1,2,3)

9、函数参数是常量,不能修改的喔

例如:

func error(a: Int){    a = 2    这就会出现一个错误:Cannot assign to 'let' value 'a'}

那可以创建能够修改的么。当然可以。增加var关键字即可。

func error(var a: Int){    a = 2}error(3)


10、函数参数是值传递的,那有啥办法让它变成引用传递呢,也就是让参数经过了函数的修改,函数外值发生改变了


func yy(inout a:Int,inout b: Int) {    var c = a    a = b    b = a}yy(&10,&20)

但是,这样是错误的,哪里错了呢。就是函数调用的时候,传入的时字面量,这怎么改。所以要传入变量
var a = 10,b=20yy(&a,&b)


11、头脑大风暴:函数居然有类型,它还能够作为参数、类型。

例如:

func yy(inout a:Int,inout b:Int)

这个函数,它的类型是 (Int,Int)-> () .

它可以和int double这种用哦。 ---- 太强大了 - 怎么强大呢。其实也就是给函数换了一个名称而已。例如前面的YY方法。还可以这样写:

func yy(a:Int,b: Int) {    var c = a}var testTT : (Int,Int) -> () = yy;

注意的是,这不支持参数 inout。。。


12、函数嵌套

func yy(a:Int,b: Int) {    func add(a:Int,b:Int) -> Int{        return a + b    }    var test = add(a,b) - a}
在函数里面定义函数,在函数里面调用函数,可以尝试一下在yy函数外面调用add函数,看看是什么效果。。。。 总结

以上是内存溢出为你收集整理的【Swift】学习笔记(六)——函数全部内容,希望文章能够帮你解决【Swift】学习笔记(六)——函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1086311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存