Swift中的函数

2019-10-08  本文已影响0人  下班不写程序

1.使用func 函数名()
2.一些自定义的点击事件等需要在 func前面添加 @objc.

1. 无参数 无返回值的 函数
    // 格式: func 函数名称() {代码逻辑}
    func num(){
        print("无参数, 无返回值的函数")
    }
2.有参数 无返回值 的函数
    // 格式: func 函数名称(外部参数 内部参数: 参数类型...) {代码逻辑}
    func sum1(num1 a: Int, num2 b: Int){
        // 当封装公共代码的时候, 外界调用是这样的 sum1(num1: <#T##Int#>, num2: <#T##Int#>), 也就是说,外界使用的是外部参数, 我自己可以随便的修改自己的内部参数, 还不会对其他使用的人造成影响, 其实就是自己在和自己玩, 装逼而已. (注: 外部参数可以省略不写)
        print(a, b)
    }
    
    // 省略之后的写法 -- 也是最常用的写法
    func sum2(a: Int, b: Int){
        let result = a + b
        print(result)
    }
    
    // 以下两种方法也是 有参数 无返回值的函数的写法, 了解即可.
    func sum3(a: Int, b: Int) -> Void{
        
    }
    // 或
    func sum4(a: Int, b: Int) -> (){
        
    }
3.有参数 有返回值 的函数
    // 格式: func 函数名称(内部参数: 参数类型...) -> 返回值类型 {代码逻辑 return 返回值}
    func sum(a: Int, b: Int) -> Int{
        return a + b
    }
4.拓展:函数的预加载
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        demo()
    }
    
    func demo(){
    
//        demo1()   // 在这里调用,应用程序就会报错: Use of local variable 'demo1' before its declaration 释义:在声明前使用局部变量“demo1”, 意思就是说,没有声明, 你就是使用了, 不可以
        func demo1(){
            print("demo1")
        }
        demo1()    // 在这里调用,程序就正常运行
    }
    
    /* 问: 当在整个Vc下面, 就算写在viewDidLoad下面的函数, 在viewDidLoad里面也能调用, 为什么在其它的自定义函数中就不可以了呢???
     分析: 类中的方法, 在类实例化的时候全部都预加载了, 就等待着被使用; 但是方法中的方法(函数套函数, OC中是不可以的), 是没有进行预加载的, 只能从上往下执行, 除非在最上面做一下引用.
     */
上一篇 下一篇

猜你喜欢

热点阅读