iOS开发基础:功能

什么是功能 ? 功能是执行特定任务的一组步骤。 函数是您在程序中使用的一种过程或例程,因此您不必重复自己。

让我们开始写一个,我会一路解释。

 功能 

每个功能都必须以单词func infront开头。 这就是我们声明函数的方式。

  func computeShapeArea 

之后,我们写出可以是任何名称的函数名称,但建议使用描述性名称,因此在较大的程序中,将更容易理解函数的用途。

  func computeShapeArea(length:Int,width:Int) 

之后,您可以看到我在其中添加了两个括号和一些变量。 它们是什么,它们是干什么的? 这些称为参数。 当您的函数需要一些输入数据来工作时(在这种情况下为长度和宽度来计算面积),可以使用参数。 使用它们的方法是首先选择一个名称,在这种情况下为长度和宽度,添加一个冒号,然后此参数将为数据类型,在这种情况下为整数。

  func computeShapeArea(length:Int,width:Int)-> Int { 
  } 

如果要让函数返回某些内容,请编写箭头符号“->”,然后放置数据类型。 稍后我们将讨论返回数据,现在就跟我来。 在数据类型之后,您要写两个大括号。 在这些括号内,您将编写函数的功能。

  func computeShapeArea(length:Int,width:Int)-> Int { 
令面积=长*宽
返回区
}

功能现已完成。 现在,您可以输入数据来计算形状面积,它将存储在函数内部的area变量中,然后返回该变量。 要使用它,请在操场上写下函数的名称,如果按回车键,它将自动完成:

  computeShapeArea(长度:3,宽度:4) 

在右侧,您应该看到函数的结果。 在此示例中,您需要输入两个值,否则该功能将不起作用。 尝试用其他数据编写其他示例。

你们中有人想知道如何使功能更精确吗? 如果您做得很棒,但是您将如何做呢? 您可以通过将参数和返回类型更改为double s来做到这一点,以便该函数将接受十进制数字,对其进行计算并返回“更精确的”值。

好的,现在让我们尝试创建一个更高级的功能。 假设您的抽屉里藏着一些钱,想买辆车,但是首先必须检查是否有足够的钱来做。 为什么要打扰,我们将编写一个函数为您检查check

  var myHiddenMoney = 16000 
var newCarPrice = 15000
  func buyMeANewCar(myMoney:Int,carPrice:Int)-> Int { 
如果carPrice <= myMoney {
打印(“恭喜,您刚买了新车!”)
返回myHiddenMoney-newCarPrice
}其他{
打印(“嗯。您将需要更多钱来购买这辆车。”)
返回myHiddenMoney
}
}

让我们经历一下。 首先,我们创建一些变量来存储您的钱和新车价格。 我们用两个参数(myMoney,carPrice)声明了一个名为buyMeANewCar的函数,然后在该函数内部创建了一个if语句来检查您是否有足够的钱。 在第一个条件中,我们检查了汽车价格是否小于或等于您拥有的金额,如果价格等于或小于您所拥有的金额,则它会打印出祝贺并退还您购买汽车后剩下的金额。 在其他情况下,这将涵盖其他内容,它将显示“ Ahm ..您将需要更多钱来购买这辆车..”并退还您的钱。

希望您能理解,否则,请随时问我以下问题。

现在尝试使用该功能,您还记得吗? 只需开始编写函数的名称,它将为您自动完成功能,只需按Enter。 然后对于参数,为myMoney输入myHiddenMoney,为carPrice输入newCarPrice,它应该可以工作。

  buyMeANewCar(myMoney:myHiddenMoney,carPrice:newCarPrice) 

因此,现在您应该在控制台中看到刚买了车,恭喜! 🙂

现在,尝试将myHiddenMoney变量的值更改为10000。您将看到第二条消息正在打印并且没有足够的钱。 太糟糕了。 只需将其更改回即可。 在现实生活中难道就这么简单吗? 🙂

无论如何,当您使用右边的功能时,它会打印出您剩下的钱,但是如果您再次调用该功能来购买另一个功能,它将起作用,但是为什么呢? 因为我们没有更新变量myHiddenMoney,所以它在函数结束后保持不变。 怎么做? 像这样:

  myHiddenMoney = buyMeANewCar(myMoney:myHiddenMoney,carPrice:newCarPrice) 

当您调用该函数时,您会像这样进行操作,它将值返回到myHiddenMoney变量。 现在,如果您再次调用该函数,如下所示:

  buyMeANewCar(myMoney:myHiddenMoney,carPrice:newCarPrice) 

它会说您没有足够的钱。 还有另一种方法。 它没有返回值。 您可以在函数外部修改变量,您可以这样做:

  func buyMeANewCar(myMoney:Int,carPrice:Int){ 
如果carPrice <= myMoney {
myHiddenMoney = myMoney-汽车价格
打印(“恭喜,您刚买了新车!”)
}其他{
打印(“嗯。您将需要更多钱来购买这辆车。”)
}
}

在这种情况下,myHiddenMoney将具有myMoney – carPrice的值,如果调用另一个函数,它将表示您没有足够的钱。

这些是什么是功能以及如何工作的基础。 如果不清楚,请随时询问。 下一课将不是一课,而是一系列的练习,以便您可以测试对我们所谈论的一切的知识。

马哥,再见