Swift 函数参数定义默认值

18 min read

Swift中可以使用默认值来定义函数参数。当函数调用时,如果没有传递该参数,则会使用默认值。

下面的示例演示如何定义带有默认值的函数参数:

func sayHello(name: String = "world") {
    print("Hello, \(name)!")
}

// 调用函数时不传递参数
sayHello() // 输出 "Hello, world!"

// 调用函数时传递参数
sayHello(name: "Swift") // 输出 "Hello, Swift!"

在上面的示例中,sayHello函数定义了一个字符串类型的参数name,并指定默认值为world。在函数内部,可以像使用普通参数一样使用name参数。当调用函数时,如果没有传递该参数,则使用默认值world

可以使用多个参数,其中仅一个或多个带有默认值。如果函数有多个参数,并且仅想为其中一些参数指定默认值,则应该将这些参数放在参数列表的尾部,这样可以使用参数标签来调用非默认参数的值。例如:

func describeAnimal(name: String, type: String, sound: String = "unknown") {
    print("A \(type) named \(name) makes \(sound) sound")
}

// 调用函数时仅为sound参数传递值
describeAnimal(name: "Tom", type: "cat", sound: "meow") // 输出 "A cat named Tom makes meow sound"

// 调用函数时仅为name和type参数传递值
describeAnimal(name: "Jerry", type: "mouse") // 输出 "A mouse named Jerry makes unknown sound"

在上述示例中,describeAnimal函数定义了三个参数:nametypesound,其中sound具有默认值unknown。当调用该函数时,可以为所有三个参数传递值,也可以省略sound参数,这样它将在函数内部使用默认值。