swift- 函数的创建

作者: 蹲在路口的男孩丶 | 来源:发表于2016-06-12 20:51 被阅读113次

    import UIKit

    class ViewController: UIViewController {

    override func viewDidLoad() {

    super.viewDidLoad()

    // 无参无返回值

    //        demo1()

    //        demo2()

    //        demo3()

    // 有参数无返回值

    //        lengthOfString(a: "1111", b: "2222")

    // 无参数有返回值

    //        let str = demo()

    //        print(str)

    // 有参数有返回值

    //        let str =  demo6(a: "323", b: "121")

    //        print("str = \(str)")

    // 闭包

    // 1.无参无返回值

    //        closure()

    // 2.有参数有返回值

    //        closure1("123")

    // 3.无参数有返回值

    //        let str =  closure2()

    //        print(str)

    // 4.有参数有返回值

    //        let str1 = closure3("123","456")

    //        print(str1)

    let length = newStringLength("world") { (a) -> String in

    let b = "hello\(a)"

    return b

    }

    print("length = \(length)")

    }

    // swift 里面允许函数嵌套,并且外部不可见

    // 调用的时候尽量不采用 self

    // 类名调用的函数前面加上 class

    // 如果一个类只要求在本类中调用,不希望外部可见,就加上 private,UI 空间的响应时间不要加上 private 修饰

    // 无参无返回值

    // 格式: func 函数名 (){}

    func demo1(){

    print("无参无返回值1")

    func demo4(){

    print("------------")

    }

    demo4()

    }

    func demo2()->(){

    print("无参无返回值2")

    }

    func demo3()->Void{

    print("无参无返回值3")

    }

    // 有参数无返回值

    // 格式: func 函数名 (外部返回参数 参数:参数类型...){}

    // 非第1个参数如果没有外部访问参数的话会将形参当成外部访问参数

    func lengthOfString(a str1:String,b str2:String){

    print("\(str1)和\(str2)的长度是\(str1.characters.count + str2.characters.count)")

    }

    // 无参数有返回值

    func demo()->String{

    return "66666"

    }

    // 有参数有返回值

    // 格式: func 函数名(参数列表...)->返回值类型{}

    func demo6(a a:String,b:String)->String{

    let c = "\(a)\(b)"

    return c

    }

    //    闭包

    // 闭包相当于 C 里面的 block,封装了一段有特定功能的代码块

    // 闭包一样可以当成函数参数

    // 闭包的格式:

    /*

    {

    (参数列表...)->返回值类型

    in

    闭包里面执行的代码块

    }

    */

    // 无参数无返回值

    let closure = {

    ()->()

    in

    print("这是一个无参无返回值的闭包")

    }

    // 有参数有返回值

    let closure1 = {

    (str:String)->()

    in

    print("这是一个输入参数为\(str)的闭包")

    }

    // 无参数有返回值

    let closure2 = {

    ()->Int

    in

    let string = "666666"

    return string.characters.count

    }

    // 有参数有返回值

    let closure3 = {

    (str1:String,str2:String)->Int

    in

    let string = "\(str1)\(str2)"

    return string.characters.count

    }

    // 定义一个函数:两个输入参数,其中一个是闭包,闭包的功能,是将输入的第一个参数拼接上 Hello, 返回一个新的字符串.函数的功能返回新字符串的长度

    func newStringLength (str:String,closure4:(a:String)->String)->Int

    {

    let str = closure4(a: str)

    return str.characters.count

    }

    相关文章

      网友评论

        本文标题:swift- 函数的创建

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