美文网首页
Swift函数

Swift函数

作者: Lillian呆呆哒 | 来源:发表于2023-05-22 16:44 被阅读0次

函数是执行特定任务的独立的代码块。可以给函数一个名称来识别它的作用,并且该名称用于在需要时“调用”该函数以执行其任务。Swift的统一函数语法足够灵活,可以表达任何东西,从没有参数名称的简单C风格函数到每个参数的名称和参数标签的复杂Objective-C风格方法。参数可以提供默认值来简化函数调用,并且可以作为进出参数传递,一旦函数完成执行,这些参数就会修改传递的变量。Swift中的每个函数都有一个类型,由函数的参数类型和返回类型组成。您可以像Swift中的任何其他类型一样使用此类型,这使得您可以轻松地将函数作为参数传递给其他函数,并从函数返回函数。函数也可以写在其他函数中,以封装嵌套函数范围内的有用功能。

定义和调用函数

函数声明:告诉编译器函数的名字,返回类型及参数

函数定义:提供函数的实体

swift函数包含了参数类型及返回值类型

swift函数定义使用func 关键字。当你定义函数时,可以指定一个或多个输入参数类型和一个返回值类型。

每个函数都有一个函数名来描述它的功能。通过函数名及参数值来调用这个函数,函数的参数传递的顺序必须与参数列表相同。

函数的实参传递的顺序必须与形参列表相同,-> 后定义函数的返回值类型。

定义函数 调用函数

我们也可以定义不带参数的函数:

没有返回值的函数:

如果我们需要返回多个值,可以使用元组作为函数的返回值。

函数参数

函数参数都有一个外部参数名和一个局部参数名。

局部参数名在函数的实现内部使用,在局部参数名前指定外部参数名,中间以空格分隔,外部参数名用于在函数调用时传递给函数的参数。

可变参数

可变参数可以接受零个或多个值。函数调用时,你可以用可变参数来指定函数参数,其数量是不确定的。

可变参数通过在变量类型名后面加入(...)的方式来定义。

常量、变量、I/O参数

一般默认在函数中定义的参数都是常量参数,也就是这个参数你只可以查询使用,不能改变它的值。如果想要声明一个变量参数,可以在参数定义前加 inout 关键字,这样就可以改变这个参数的值了。

一般默认的参数传递都是传值调用的,而不是传引用。所以传入的参数在函数内改变,并不影响原来的那个参数。传入的只是这个参数的副本。当传入的参数作为输入输出参数时,需要在参数名前加 & 符,表示这个值可以被函数修改。

I/O参数与从函数返回值不同。上面的swap示例没有定义返回类型或返回值,但它仍然修改了some和another的值。I/O参数是函数在其功能主体范围之外产生影响的另一种方式。

I/O参数不能有默认值,变量参数不能使用inout。

函数类型及使用

每个函数都有种特定的函数类型,由函数的参数类型和返回类型组成。

在 Swift 中,使用函数类型就像使用其他类型一样。例如,你可以定义一个类型为函数的常量或变量,并将适当的函数赋值给它:

var addition: (Int, Int) -> Int = sum

func sum(a: Int, b: Int) -> Int {     

        return a + b            

}    

var addition: (Int, Int) -> Int = sum    

print("输出结果: \(addition(1, 2))")  // 输出结果: 3

函数也可以作为另外一个函数的参数,也可以使用函数类型作为另一个函数的返回类型。

函数嵌套

函数嵌套指的是函数内定义一个新的函数,外部的函数可以调用函数内定义的函数。

默认情况下,嵌套函数对外部世界隐藏,但仍然可以由其封闭函数调用和使用。封闭函数也可以返回其嵌套函数之一,以允许嵌套函数在另一个作用域中使用。

相关文章

  • Swift学习笔记(二)

    Swift函数 Swift函数包含参数类型和返回值类型 函数定义 Swift使用关键字func定义函数。 函数定义...

  • Swift中的标准函数

    Swift中的标准函数 Swift中的标准函数

  • Swift の 函数式编程

    Swift の 函数式编程 Swift の 函数式编程

  • 10.函数(function)

    函数 kotlin_函数 swift_函数

  • swift 函数

    Swift 函数 函数声明: 告诉编译器函数的名字,返回类型及参数。 函数定义: 提供了函数的实体。Swift 函...

  • swift学习笔记②

    Swift学习笔记 - 文集 语法篇 一、函数 函数定义 Swift 定义函数使用关键字 func,functio...

  • #6 函数

    swift functions - 极客学院 swift的函数和JS的函数基本类似,有几点不同的是: swift中...

  • iOS知识点-9.Swift 是面向对象还是函数式的编程语言?

    Swift Basics Swift 是面向对象还是函数式的编程语言? Swift既是面向对象的,又是函数式的编程...

  • Swift高阶函数解析

    一、锲子 最近在学习Swift过程中发现,Swift有不少高阶函数,这些函数为Swift支持函数式编程范式提供了强...

  • swift 临时

    //// ViewController.swift// Swift01_函数//// Created by ...

网友评论

      本文标题:Swift函数

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