美文网首页
4.1函数与闭包

4.1函数与闭包

作者: LucXion | 来源:发表于2020-05-22 14:04 被阅读0次

参数和返回值决定函数的类型。参数数量和类型完全相同,同时返回值类型也相同的函数为同类型函数

// 函数的声明与实现
func mathSum(num1:Int,num2:Int)->Int{
    return num1 + num2
}
var a = mathSum(num1: 5, num2: 6)
// 和OC不同,返回值可以是多个对象,返回值可以是元祖类型,甚至是可选元祖类型
func checkID(id:Int)->(succese:Bool,msg:String)?{
    
    guard id == 10086 else {
        return nil
    }
    return (true,"checkIn")
}
if let temp = checkID(id: 10086) {
    if temp.succese {
        print(temp.msg)
    }
}

函数名:Swift函数命名综合了OC和JAVA的命名优缺点,在简洁与
实用间找到了平衡点

// 只命名了内部函数名,因此默认内部函数名与外部函数名相同
func Sum(parama1:Int,parama2:Int,parama3:Int)->Int{
    return parama1 + parama2 + parama3;
}
var sumNum = Sum(parama1: 1, parama2: 2, parama3: 3)
// 分别命名了外部参数名和内部参数名,函数作用域内实用内部函数名,外部调用实用外部函数名,重载时作用会更大
func Sum(out1 parama1:Int,out2 parama2:Int,out3 parama3:Int)->Int{
    return parama1 + parama2 + parama3;
}
var sum = Sum(out1: 1, out2: 2, out3: 3)
// 使用 _ 来忽略函数名
func Sum(_ parama1:Int,out2 parama2:Int,out3 parama3:Int)->Int{
    return parama1 + parama2 + parama3;
}
var sum = Sum(1, out2: 2, out3: 3)

可以给函数设置默认值,设置了默认值的函数调用时有两种调用方式,可以略过含默认值的参数,但不能改变参数顺序
编写参数个数不定的函数

// 一个函数只有包含一个可变参数
func Sum(parama1:String...)->String{
    
    var temp:String = ""
    for item in parama1 {
        temp.append(item)
    }
    return temp
}
var sum = Sum(parama1: "a","a","a","a","a","a","a","a","a")
inout
//  inout类型
// 值类型(基本数据类型、枚举、结构体)作为参数传递时会将原值复制为一份常量传递且不可修改,这个时候就需要用到 inout类型
func Sum(num:inout Int){
    num += 1;
}

相关文章

  • 【JavaScript ES6 函数式编程入门经典】读书笔记(第

    第四章 闭包与高阶函数 4.1 理解闭包 简而言之,闭包就是一个内部函数,是在另一个函数内部的函数,比如 这就是闭...

  • 4.1函数与闭包

    参数和返回值决定函数的类型。参数数量和类型完全相同,同时返回值类型也相同的函数为同类型函数 函数名:Swift函数...

  • 2018-07-10swift4与swift 3.3 语法重拾(

    函数与闭包 闭包

  • day14-函数(3)装饰器

    一、闭包函数 闭包函数=函数嵌套定义+函数对象+名称空间与作用域 闭包函数 1、闭:指的是该函数是定义在一个函数内...

  • 10 Go匿名函数 && 闭包

    1、函数的基本规则 2、函数的参数 3、什么是匿名函数 4、匿名函数的应用 4.1 4.2 4.3、 5 闭包

  • rust 闭包与同步

    rust 闭包与同步 rust 闭包 rust闭包中主要包括两个部分,闭包参数和闭包环境变量。闭包函数和函数参数使...

  • 2019-01-05 闭包

    内部函数和外部函数中被内部函数调用的变量组成了闭包。 例子:函数line与变量a构成了闭包。 1.闭包似优化了变量...

  • 闭包

    闭包 闭包和函数的区别:闭包可以储存一部分变量,函数不能,函数传什么有什么值 函数与匿名函数的区别,匿名函数可以完...

  • Python闭包

    闭包 = 环境变量 + 函数 调用闭包内部的环境变量 闭包的经典误区 闭包与非闭包实现人类走路 非闭包 闭包

  • JavaScript中闭包与this对象

    闭包 闭包与匿名函数容易混淆。闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内...

网友评论

      本文标题:4.1函数与闭包

      本文链接:https://www.haomeiwen.com/subject/kneqahtx.html