Swift基础篇——函数

前端之家收集整理的这篇文章主要介绍了Swift基础篇——函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

函数

import UIKit

/*: 函数 * 格式 func 函数名称(形参列表) ->返回值类型 { 代码 } * Void == () */


// 1.没有参数没有返回值
func say() -> Void
{
    print("hello")
}
say()

// 如果没有返回值可以简写
func say1() -> ()
{
    print("hello")
}
say1()

func say2()
{
    print("hello")
}
say2()


// 2.有参数没有返回值
// Swift2.0开始,会自动将形参列表的第二个参数名称作为标签
// Swift2.0之前是没有这个特性的,在Swift2.0之前如果需要显示标签需要在形参名称前面加上#
func sum(num1: Int,num2: Int)
{
    print(num1 + num2)
}
sum(10,num2: 20)


// 3.没有参数有返回值
func getNumber() -> Int
{
    return 998
}
print(getNumber())

// 4.有参数有返回值
func sum2(num1: Int,num2: Int) -> Int
{
    return num1 + num2
}
print(sum2(50,31)">50))


// 内部和外部参数
/*: * 默认情况下所有形参都是内部参数,也就是说只能在函数内部使用 * 从Swift2.0开始会自动将形参列表的第二个参数名称作为标签,也就是说从第二个参数开始,参数的名称既是内部参数又是外部参数 * 如何指定外部参数? */
func sum3(num1: Int,tag num2: Int)
{
    print("num1 = \(num1),num2 = \(num2)")
    print(num1 + num2)
}
sum3(20)

// 默认参数
// 如果指定了默认值,那么在调用方法的时候就可以不用传递数据,如果不传递数据系统就会使用默认值,如果传递了就会使用传递的值
// 在其它语言里面,默认值一般情况只能是最后一个参数,但是Swift可以写在任何位置
func joinString(str1: String,str2: String = "在",str3: String) -> String
{
    return str1 + str2 + str3
}
joinString("张三",str2: "北京")
joinString("李四",0)">"深圳")


// 常量参数和变量参数以及inout参数
// 默认情况下所有形参都是常量参数,不能在函数修改形参的值
// 如果想在函数修改形参的值,那么必须把形参变为变量参数
// 和OC一样,在函数修改形参的值不会影响到外面实参的值
// 如果想在函数修改形参之后影响实参,那么必须把形参变为inout参数

//func swap(a: Int,b: Int)
//{
// let temp = a
// a = b // 不能修改常量参数
// b = temp
//}

//func swap(var a: Int,var b: Int)
// print("a = \(a),b = \(b)")
// a = b
//}

func swap(inout a: Int,inout b: Int)
{
    print("a = \(a),b = \(b)")
    let temp = a
    a = b
    b = temp
    print()
}

var x = 10
var y = 20
print("x = \(x),y = \(y)")
swap(&x,b: &y)
print()

// 可变参数
// 只要参数是可变参数,就可以传递一个或多个值
// 在其它语言中一般情况下可变参数只能是最后一个形参,而Swift中可以写在任意位置,但是为了提高代码的阅读性,还是建议写在最后
func sum4(nums: Int...,temp: Int) -> Int
{
    var sum = 0
    for i in nums
    {
        sum += i
    }
    return sum + temp
}
sum4(1,2,31)">3,temp: 10)

// 函数嵌套
// 将一个函数写到另外一个函数函数体中,外面称之为函数嵌套
// 1.被嵌套的函数只能在父函数内部访问
// 2.被嵌套的函数可以访问外部的变量
// 应用场景: 两个函数之间依赖较强,或者一个函数就只给另外一个函数使用
// 例如: 对数组排序是一个函数,交换变量又是一个函数,他们就可以使用函数嵌套
let value = 55
func test()
{
    let number = 10
    func demo()
    {
        print("----\(number),\(value)")
    }
    demo()
}
test()
原文链接:https://www.f2er.com/swift/325664.html

猜你在找的Swift相关文章