Object-C--->Swift之(六)函数类型

简介:

认识函数类型

每个函数都有特定的函数类型

函数类型是由函数的形参类型、->和返回值类型组成。

例如:
    func Add(a:Int,b:Int){
    ...
    }
该函数的函数类型为(Int,Int)->Void或者(Int,Int)->()
func Add()->Int{
   ...
}
该函数的函数类型为()->Int
func Add(){
    ...
}
该函数的函数类型为()->()或者()->Void

func Add(a:Int,b:Int)->Int{
    ...
}

  该函数的函数类型为(Int,Int)->Int

使用函数类型

定义变量

定义变量,其类型为(Int,Int)->Int
 var myadd:(Int,Int)->Int
func Add(a:Int,b:Int)->Int{
    return a+b
}
myadd=Add
   print(myadd(3,4))
   //输出7


当函数类型和我们定义的变量类型一致的时候我们就能够赋值成功。

函数类型作为形参类型

有些时候我们写一个函数,这个函数的大部分逻辑是十分确定的,但某些处理逻辑是无法确定的需要根据具体情况进行动态的改变。这个时候我们可以在函数中定义函数类型的形参,这样在调用该函数的时候传入不同的函数作为参数,从而动态的改变函数的功能。

   func add(var a:Int,var b:Int,fn:(Int)->Int)->Int
    {
   return a+fn(b)
     }
    //不对b进行改变
   funcOnlyb(val :Int)->Int
    {
   return b;
     }
//对b进行平方改变
   func square(val:Int)->Int
{
    return b*b
 }
    对b进行立方改变
func cube (val:Int)->Int
   {
      return b*b*b
    }
    print(add(3,4,fn:Onlyb))//输出7
   prin(add(3,4,fn:square))//输出19
   print(add(3,4,fn:cube))//输出67

分析代码:我们在上面程序中,有两个变量的值是不变的,但对第二个变量进行变化是动态的,可能需要平方操作或者立方操作,也可能不需要任何操作。

使用函数类型作为返回值类型
   func squar (val:Int)->Int
   {
    return  val*val
    }
   func cube (val:Int)->Int
    {
     return  val*val*val
    }
   func Onlyb (val:Int)Int
   {
    return b
    }
  //注意返回值类型为(Int)->Int
    func Math(#type:String)->(Int)->Int
   {
     switch(type)
  {
   case"square":
    return square
    case "Onlyb":
    returnOnlyb
    case "cube":
   return cube
   default:
    print("输入函数错误呀")
  }
     var math=Math(type:"cube")
    print(math(5))//输出125
    }
目录
相关文章
|
8月前
|
安全 开发工具 Swift
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发。基础语法涵盖变量、常量、数据类型、运算符、控制流等,高级特性包括函数、闭包、类、结构体、协议和泛型。
177 2
|
8月前
|
设计模式 安全 测试技术
Swift代码审查的关键点及最佳实践,涵盖代码风格一致性、变量使用合理性、函数设计、错误处理、性能优化、安全性、代码注释等方面,旨在提升代码质量和项目管理水平
本文深入探讨了Swift代码审查的关键点及最佳实践,涵盖代码风格一致性、变量使用合理性、函数设计、错误处理、性能优化、安全性、代码注释等方面,旨在提升代码质量和项目管理水平。通过实际案例分析,展示了如何有效应用这些原则,确保代码的高可读性、可维护性和可靠性。
136 2
|
8月前
|
Swift 索引 容器
Swift 泛型-扩展泛型类型
Swift 泛型-扩展泛型类型
88 2
|
8月前
|
Swift 索引
Swift 泛型-类型约束
Swift 泛型-类型约束
75 1
|
8月前
|
安全 编译器 Swift
Swift 函数
10月更文挑战第27天
47 1
|
8月前
|
安全 Swift iOS开发
Swift 可选(Optionals)类型
10月更文挑战第24天
70 2
|
9月前
|
Python
通过 type 和 object 之间的关联,进一步分析类型对象
通过 type 和 object 之间的关联,进一步分析类型对象
136 3
|
10月前
|
存储 PHP 数据安全/隐私保护
spl_object_hash() 函数
spl_object_hash() 函数
|
Swift C++ 索引
Swift开发——简单函数实例
函数是编程的基础,用于封装特定功能的代码。它们有关键词func、函数名、参数列表(可为空)和返回类型。多返回值可通过元组、数组、inout参数或可选类型实现。例如,返回元组 `(value1, value2)`,数组 `[value1, value2]` 或使用可选数组 `[[Double]]?`。函数可以作为其他函数的参数,类似闭包或Lambda表达式。在Swift中,示例展示了通过元组、带索引的元组、数组和可选类型返回多个值的函数。还演示了如何使用inout参数交换变量值。
176 5
Swift开发——简单函数实例
|
12月前
|
Swift iOS开发 Kotlin
苹果iOS新手开发之Swift中实现类似Kotlin的作用域函数
Swift可通过扩展实现类似Kotlin作用域函数效果。如自定义`let`, `run`, `with`, `apply`, `also`,增强代码可读性和简洁性。虽无直接内置支持,但利用Swift特性可达成相似功能。
148 7

热门文章

最新文章

相关课程

更多