Swift中“ of”关键字的用途是什么?

时间:2019-07-10 02:04:21

标签: swift

示例:

func student( of name:String)->字符串{

。 。

}

3 个答案:

答案 0 :(得分:2)

在这种情况下,它只是方法签名的一部分。据我所知,of不是Swift中使用的单词。要使用该方法,您可以输入:

student(of: "<Student's name here>"),它将返回一个字符串。

如果您从上面的签名(of中省略了func student(name: String) -> String,则该方法将如下调用:

student(name: "Student's name here")

最后,如果您更改了签名以在参数前加下划线,例如func student(_ name: String) -> String,则将按以下方式调用方法:

student("Student's name here")

答案 1 :(得分:1)

在这种情况下,“ of”是名为“ name”的参数的标签。

如果要调用此函数,它将是

student(of: "Mathematics")

但是在学生函数中,您可以通过“名称”获得它的值

func student(of name: String) -> String {

    print(name)

    // TODO: Do something and return

}

仅是一个建议,恕我直言,“ of”并不能很好地描述函数的功能或“ of”所代表的含义(“ of”是一个id?学生的名字吗?)。

答案 2 :(得分:0)

Swift具有外部内部参数名称的概念。 外部参数名称用于使函数签名更易读,而内部参数名称则用于函数内部使用。

外部参数名称是可选的。如果仅提供一个参数名称,则该名称将同时用作外部内部。第一个参数的外部参数名称是必需的。如果在任何阶段都不想指定外部参数,则可以将其替换为_

考虑以下示例:

func myFunctionToPrintDetailsOfStudentWithFirstName(_ firstName: String, andLastName lastName: String, fromAddress: String)

请注意,在此示例中,第一个参数仅具有内部名称,第二个参数具有两个名称,最后一个仅具有一个名称。函数调用看起来像

myFunctionToPrintDetailsOfStudentWithFirstName("John", andLastName: "Doe", fromAddress: "My Country")

如您所见,第一个参数的传递不带参数名称,第二个参数的传递使用 External 名称,而最后一个参数的传递仅使用参数名称。这使函数调用更具可读性。

注意:

在函数声明中,第一个参数将由firstName访问,第二个参数将由lastName访问,最后一个参数将由fromAddress访问

希望这可以为您澄清差异