swift编程开发swift首页投稿(暂停使用,暂停投稿)

Swift超基础语法(函数篇)

2016-07-30  本文已影响145人  S_Lyu

函数

定义函数的格式

func 函数名(参数列表) -> 返回值类型{
代码块
return 返回值
}
例:判断机型
func about() -> Void {
print("iPhone7")
}
简化:
func about() {
print("iPhone7")
}
about();  //调用函数
例:根据电话号码拨打电话
func callPhone(phoneNumber : String) {
print("打电话给" + phoneNumber)
}
callPhone("133")  //调用函数
例:读取短信息
func readMessage() -> String{
return "你好"
}
let message = readMessage()  //调用函数
print(message)  
例:有参数有返回值的函数
func sum(num1 : Int , num2 : Int) -> Int{
return num1 + num2
}
let result = sum(20 , num2 : 10)  //调用函数
print(result)
例:判断数组中奇数,偶数的个数
let array = [12,13,14,15,16]
func getCount(nums : [Int]) ->(Int , Int){
var oddCount = 0
var evenCount = 0
for num in nums {
if num % 2 == 0{oddCount += 1}
else {evenCount += 1}
}
return (oddCount , evenCount)
}
let result = getCount(array)
result.0
result.1

函数的参数

sum(1,2,3)  //调用函数的时候看不到参数名称
sum(a : 1 , b : 2 , c : 3)   //调用函数的时候能看到参数名称
        func sum (a : Int ,b : Int ,c : Int) -> Int{
            return a + b + c
        }
        sum(1, b: 2, c: 3)
        func sum (a a : Int ,b : Int ,c : Int) -> Int{
            return a + b + c
        }
        sum(a: 1, b: 2, c: 3)
        func sum (a : Int ,_ b : Int ,_ c : Int) -> Int{
            return a + b + c
        }
        sum(1, 2, 3)
        func makeCoffee(coffeeName : String = "雀巢") -> Void{
            print("制作了一杯\(coffeeName)咖啡")
        }
        makeCoffee("拿铁")
        makeCoffee()
        func sum(numbers : Int...){
            var count = 0
            for number in numbers {
                count += number
            }
            print(count)
        }
        sum(12,13)  //注意:调用函数的时候,直接传入两个参数而不是数组,这就是可变参数与数组作为参数的区别
例:交换两个参数的值
        func swapNumber(inout number1 : Int ,inout number2 : Int){
            let temp = number1
            number1 = number2
            number2 = temp
        }
        var a = 22
        var b = 33
        swapNumber(&a, number2: &b)  //&符号是系统自动加上的

函数的类型

例:(Int , Int) -> Int类型的函数
        func sum(a : Int , b : Int) -> Int{
            return a + b
        }
        func minus(a : Int , b : Int) -> Int{
            return a - b
        }
例:书接上文的例子
        func sum(a : Int , b : Int) -> Int{
            return a + b
        }
        func minus(a : Int , b : Int) -> Int{
            return a - b
        }
        var funcName : (Int , Int) -> Int  //定义一个变量为(Int , Int) -> Int类型,用来接收函数名
        funcName = sum 
        funcName(3, 1)  //结果为4
        funcName = minus
        funcName(3, 1)  //结果为2

函数使用的拓展

例:
        func countAdd(inout number : Int) {  //定义第一个函数
            while number > 0 {
                print(number)
                number -= 1
            }
        }
        func countMinus(inout number : Int) {  //定义第二个函数
            while number < 0 {
                print(number)
                number += 1
            }
        }
        
        func chooseFunc(number : Int) -> (inout Int) -> (){  //根据条件判断使用上面哪个函数
            return number > 0 ? countAdd : countMinus
        }
        var number = 13
        let funcName = chooseFunc(number)  //选择函数
        funcName(&number)  //调用函数
例:
func test() {
    func demo() {
        print("demo")
    }
    print("test")
    demo()
}
上一篇下一篇

猜你喜欢

热点阅读