Swift学习——函数的使用和分类(四)

总结了一下Swift中的函数使用一共可以分为七类

1 ---- 没有返回值,没有参数的函数

2 ---- 有参数和返回值的函数

3 ---- 使用元祖来返回多个值

4 ---- 参数是可变的

5 ---- 函数的嵌套

6 ---- 函数可以作为另一个函数的返回值

7 ---- 函数可以作为参数

具体分析如下面代码所示

// 1 ---- 没有返回值,没有参数的函数

func function1()
{
    println("----in function1----")
}

//调用函数
function1()

// 2 ---- 有参数和返回值的函数

func function2(name:String,age:Int)->String{
    println("----in function2----")
    return "name \(name),age \(age)"
}

//调用函数

println(function2("jhon",22))

// 3 ---- 使用元祖来返回多个值

func function3()->(Int,Int,Int){
    println("----function3----")
    return (1,2,3)
}
//调用函数
println(function3())

// 4 ---- 参数是可变的

func functionsum4(numbers:Int...)->Int{
    println("----in functionsum4----")
    var sum = 0
    for number in numbers{
        sum += number
    }
    return sum
}

//调用函数
println("sum is \(functionsum4(1))")
println("sum is \(functionsum4(1,2))")
println("sum is \(functionsum4(1,2,3))")

// 5 ---- 函数的嵌套

/*
    说明:被嵌套的函数可以访问外侧函数变量

*/

func function5()->Int{
    println("-----in function5-----")
    var m = 5

    func sum(){
        m += 1
    }
    sum()
    return m
}

//调用函数

println("function5 is \(function5())")

// 6 ---- 函数可以作为另一个函数的返回值

func function6()->(Int->Int){
    println("----int function6 ----")
    func sum(numbers:Int)->Int{
        return numbers+1
    }
    return sum
}

//获取外侧函数的值
var values = function6()

//values(1)对内侧函数进行传参数
println("sum is \(values(1))")

// 7 ---- 函数可以作为参数

func function7(number:Int[],contion:Int->Bool)->Bool{
    for numbers in number{
        if contion(numbers)
        {
            println("----true")
            return true
        }

    }
    return false
}

func choosefunc(number:Int)->Bool{
    return number<10
}

var number = [1,2,3,4]

function7(number,choosefunc)

println("result is \(function7(number,choosefunc))")

打印结果

----in function1----

----in function2----

name jhon,age 22

----function3----

(1, 2, 3)

----in functionsum4----

sum is 1

----in functionsum4----

sum is 3

----in functionsum4----

sum is 6

-----in function5-----

function5 is 6

----int function6 ----

sum is 2

----true

----true

result is true

Swift学习——函数的使用和分类(四),布布扣,bubuko.com

时间: 2024-10-11 00:26:05

Swift学习——函数的使用和分类(四)的相关文章

Swift学习-----函数

/*: 函数: * 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 * 格式: * func 函数名称(参数名:参数类型, 参数名:参数类型...) -> 函数返回值 { 函数实现部分 } */ /* 没有参数没有返回值 1. 可以写为 ->Void 2. 可以写为 ->() 3. 可以省略 * Void.它其实是一个空的元组(tuple),没有任何元素,可以写成() */ func say(

Swift学习—函数

知识点: swift函数的不同点 无返回值的函数的三种写法 返回元组数据 外部参数名 外部参数名的简写 默认参数值,有默认参数值的时候,系统会自动的将参数名当成外部参数名. 在有默认的参数值的情况下,增加一个下划线_,系统会忽略掉外部参数名 函数的形参默认是常量,想要在函数体的内部改变形参的值,将其设置成var即可 输入输出参数及其注意点 示例代码: //: Playground - noun: a place where people can play import UIKit // sum函

Swift学习笔记十四:构造(Initialization)

类和结构体在实例创建时,必须为所有存储型属性设置合适的初始值.存储型属性的值不能处于一个未知的状态. 你可以在构造器中为存储型属性赋初值,也可以在定义属性时为其设置默认值.以下章节将详细介绍这两种方法. 注意: 当你为存储型属性设置默认值或者在构造器中为其赋值时,它们的值是被直接设置的,不会触发任何属性观测器(property observers). 一.基本语法 class Human{ var name :String init(){ name = "human" } init(n

Swift学习笔记四:数组和字典

最近一个月都在专心做unity3d的斗地主游戏,从早到晚,最后总算是搞出来了,其中的心酸只有自己知道.最近才有功夫闲下来,还是学习学习之前的老本行--asp.net,现在用.net做项目流行MVC,而不是之前的三层,既然技术在更新,只能不断学习,以适应新的技术潮流! 创建MVC工程 1.打开Visual studio2012,新建MVC4工程 2.选择工程属性,创建MVC工程 3.生成工程的目录 App_Start:启动文件的配置信息,包括很重要的RouteConfig路由注册信息 Conten

Swift学习——A Swift Tour 函数

Functions and Closures  函数和封闭性(闭包) Functions  函数的使用 Swift中的函数定义和OC中有明显的差别了,使用func定义函数,在括号里定义參数和类型,用 -> 定义返回值类型 func greet(name: String, day: String) -> String { return "Hello \(name), today is \(day)." } greet("Bob", "Tuesda

Swift学习——Swift基础详解(四)

A:小儿编程很不好! B:多半是不爱学,从看英文版开始,让你爱上编程! Type Aliases    类型重定义(typedef) Swift中重定义类型的关键字是typealias,至于怎么用,应该不必多说了,看例子: typealias AudioSample = UInt16 //定义了一个类型名称AudioSample,代表UInt16类型 var maxAmplitudeFound = AudioSample.min // maxAmplitudeFound is now 0 Boo

swift学习笔记(四)关于类的继承

在swift中,继承是区分类与其它对象的基本特征 继承后的子类能够重写父类的方法,包含类方法和实例方法,属性和附属脚本(subscript) 在继承过程中,构造器方法init()是不被继承的,须要显示标明 class Tandem: Bicycle { init() { super.init() maxPassengers = 2 }  } 子类仅仅能够改动从父类继承来的变量属性,而不能够改动常量let属性 关于重写override 重写方法:能够通过super.function来重写父类的方法

Swift学习(2函数闭包)

函数的定义 1.函数的基础写法 func 函数名(形参列表)->返回值类型 例: func sum(x:int ,y:int) -> int{ return x+y } print(sun(x:10,y:50)) 2.外部参数的使用,就是在形参前加一个名字,外部参数不会影响函数内部细节,外部参数会让外部调用看起来更加的直观 例:func sum(num1 x:int ,num2 y:int )-> int{ return x+y } print(sum(num1:30,num2:40))

Swift学习笔记(4)--字符串及基本使用

String是例如"hello, world","海贼王" 这样的有序的Character(字符)类型的值的集合,通过String类型来表示. Swift 的String类型与 Foundation NSString类进行了无缝桥接.如果您利用 Cocoa 或 Cocoa Touch 中的 Foundation 框架进行工作.所有NSString API 都可以调用您创建的任意String类型的值.除此之外,还可以使用本章介绍的String特性.您也可以在任意要求传