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

来源:互联网 发布:asp在线客服系统源码 编辑:程序博客网 时间:2024/05/18 03:14

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


函数怎么创建:

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,myAge:Int){    return (name,age)}

ps:调用 

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


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

func testFunc(#name: String,#age: Int) -> (myName:String,myAge:Int){    return (name,age)}testFunc(name: "小王", age: 18)

7、创建带默认值参数的函数

func testFunc(#name: String,age: Int = 10) -> (myName:String,myAge:Int){    return (name,age)}testFunc(name: "小王", 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函数,看看是什么效果。。。。








0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 内存太小怎么办手机 苹果手机屏幕不能滑动怎么办 vivo手机软件不兼容怎么办 微信无法录音怎么办 手机卡住了怎么办vivo 好钱包闪退怎么办 闲鱼认证失败怎么办 闲鱼买了假门票怎么办 买黄金买到假的怎么办 闲鱼被买家骗了怎么办 闲鱼上小视频没法保存怎么办 qq空间无法查看怎么办 华为手机电池不耐用怎么办 内内被动过怎么办 hp电脑开机黑屏怎么办 网上开店快递费怎么办 保温杯外壳掉漆怎么办 拖鞋前面磨脚怎么办 塑料拖鞋磨脚怎么办 路由器进不去设置界面怎么办 手机号丢了微信登不上怎么办 电脑总是闪黑屏怎么办 支付宝破产钱怎么办 淘宝号码注册过怎么办 农行k宝怎么办信用卡 电脑页面无法显示怎么办 对方银行停止收款怎么办 淘宝东西买太多怎么办 淘宝号黑号了怎么办… 中通包裹异常怎么办 包裹退回去了怎么办 qq支付密码错误怎么办 ie8出现闪退怎么办 平板输不了密码怎么办 华硕笔记本键盘打不开怎么办 电脑打不开rar文件怎么办 苹果手机淘宝卡怎么办 淘宝联盟网址打不开怎么办 淘宝买东西卖家不退货怎么办 手机清理后微信打不开视频怎么办 搜索历史已关闭怎么办