10 - 基础篇之函数

函数相当于OC中的方法

函数格式

func 函数名(参数列表) -> 返回值类型 {
    代码块
    return 返回值
}

*注意

  • func是关键字,多个参数列表之间可以用逗号(,)分隔,也可以没有参数
  • 使用箭头“->”指向返回值类型
  • 如果函数没有返回值,返回值为Void.并且“-> 返回值类型”部分可以省略

函数的使用

   override func viewDidLoad() {
        super.viewDidLoad()
        test1() //无参数, 无返回值
      let count  = test2()
        print(count) // 5
        
        test3(count: 10000) //数量为:10000

        let relust = test4(num: 10, num1: 20)
        print(relust)  //30
     
    }
    // 1.无参数, 无返回值    
    func test1(){
        print("无参数, 无返回值")
        
    }
    // 2.无参数, 有返回值
    func test2() -> Int{
        return 5
    }
    // 3.有参数, 无返回值
    func test3(count: Int)  {
        print("数量为:\(count)")
    }
    
    // 4.有参数, 有返回值
    func test4(num: Int, num1: Int) -> Int {
        return num + num1
    }

额外补充

  • 设置默认参数

    override func viewDidLoad() {
        super.viewDidLoad()

        
        /**
         Result of call to 'want(fruitsName:)' is unused
         OC:调用一个方法,没有使用其返回值当时候可以,不用变量来接收。并且一个变量未被上下文使用到的时候可以用__unused修饰符修饰。
         Swift:不用变量来接收返回值会爆出警告“result of call to ‘XXX’ is unused”
         消除警告 在 func 定义的上方,加上 @discardableResult
         */
        want(fruitsName: "苹果") //我想要吃苹果

        want(fruitsName: "李子") //我想要吃李子
        want()  //我想要吃人参果

    }
    @discardableResult
    func want(fruitsName: String = "人参果") -> String {
        print("我想要吃\(fruitsName)")
        return "我想要吃\(fruitsName)"
    }
  • 设置可变参数
    override func viewDidLoad() {
        super.viewDidLoad()
        sum(num: 10,20,30,40,50) //150
    }
    
    @discardableResult
    //可变参数
    func sum(num: Int...) -> Int{
        
        var result = 0
        for n in num {
            result += n
        }
        print(result)
        return result
    }
  • 指针类型(交换值)
override func viewDidLoad() {
        super.viewDidLoad()

        var m = 10
        var n = 20
        swapNum(m: &m, n: &n)
        print("m=\(m) n=\(n)") //m=20 n=10  
    }
    func swapNum ( m : inout Int, n : inout Int){
        let tempNum = m
        m = n
        n = tempNum        
    }

你可能感兴趣的:(10 - 基础篇之函数)