• swift学习第十天:函数


    函数的介绍

    • 函数相当于OC中的方法
    • 函数的格式如下
    func 函数名(参数列表) -> 返回值类型 {
        代码块
        return 返回值
    }
    
    • func是关键字,多个参数列表之间可以用逗号(,)分隔,也可以没有参数
    • 使用箭头“->”指向返回值类型
    • 如果函数没有返回值,返回值为Void.并且“-> 返回值类型”部分可以省略
    import UIKit
    
    // 1.没有参数没有返回值
    func about() -> Void {
        print("iPhone7s Plus")
    }
    
    func about1() {
        print("iPhone7s")
    }
    
    about()
    
    let view : UIView
    
    // 2.有参数没有返回值
    func callPhone(phoneNum : String) {
        print("打电话给(phoneNum)")
    }
    
    callPhone(phoneNum: "+86 110")
    
    
    // 3.没有参数有返回值
    func readMessage() -> String {
        return "吃饭了吗?"
    }
    
    print(readMessage())
    
    
    // 4.有参数有返回值
    func sum(num1 : Int, num2 : Int) -> Int {
        return num1 + num2
    }
    
    sum(num1: 20, num2: 30)

    函数的使用注意

    import UIKit
    
    // 1.内部参数和外部参数
    // 内部参数:在函数内部可以看到的参数名称,称之为内部参数
    // 外部参数:在函数调用时,可以看到的参数,成之为外部参数
    // 默认情况下从第二个参数开始,既是内部参数也是外部参数
    // 如果希望将第一个参数也声明称外部参数,只需要在标识符前加上外部参数的名称即可
    func sum(num1 : Int, num2 : Int) -> Int {
        return num1 + num2
    }
    
    
    // 函数的重载:函数名称相同,参数不同(1.参数的类型不同 2.参数的个数不同)
    
    func sum(num1 : Int, num2 : Int, num3 : Int) -> Int {
        return num1 + num2 + num3
    }
    
    
    
    // 2.默认参数
    func makeCoffee(coffeeName : String = "拿铁") -> String {
        return "制作了一杯(coffeeName)咖啡"
    }
    
    makeCoffee(coffeeName: "雀巢")
    makeCoffee(coffeeName: "猫屎")
    
    makeCoffee()
    
    
    // 3.可变参数:...会把外界传进来的参数放在数组中,在函数内部遍历数组,相加求和
    func sum(nums : Int...) -> Int {
        var result = 0
        
        for num in nums {
            result += num
        }
        
        return result
    }
    
    
    sum(nums: 44, 20, 30, 44, 55, 66)
    
    
    // 4.引用参数
    var m = 20
    var n = 30
    
    // 注意:默认情况形参都是常年
    //func swapNum(var m : Int, var n : Int) {
    //    let temp = m
    //    m = n
    //    n = temp
    //}
    // swapNum(20, n: 30)
    
    // 如果形参前面有inout,则需要传递指针到函数内
    func swapNum( m : inout Int, n : inout Int) {
        let temp = m
        m = n
        n = temp
    }
    
    swapNum(m: &m, n: &n)
    
    print("m:(m) n:(n)")
    
    // 5.函数的嵌套使用(不常用)
    func test() {
        
        func demo() {
            print("demo")
        }
        
        print("test")
        
        demo()
    }
    
    test()
  • 相关阅读:
    go学习笔记day08
    go学习笔记day07
    go学习笔记day13
    Linux下php连接sql server 2008
    Linux下解决php扩展模块mcrypt的问题
    php实现无限级树型菜单(函数递归算法)
    Apache配置文件中的deny和allow的使用
    apache动态库加载出错:cannot restore segment prot after reloc: Permission denied
    Apache编译参数注解
    ibmcrypt was not found解决方案
  • 原文地址:https://www.cnblogs.com/cqb-learner/p/5884945.html
Copyright © 2020-2023  润新知