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()
原文地址:https://www.cnblogs.com/cqb-learner/p/5884945.html