
Когда вы пишете функции, теперь у вас есть четыре возможных комбинации параметров и возвращаемых значений. Вот краткое описание того, когда вы можете использовать каждый тип функции:
❌ Параметры, ❌ Возвращаемое значение ( 沒 參數 , 沒 回 傳)
paintPicture()
Когда вы вызываете функцию, не имеющую параметров и не возвращающую значение, это все равно что сказать: «Я хочу, чтобы что-то произошло, но меня не особо волнует, как это будет сделано или что с этим произойдет позже».
Представьте, что вы просите художника создать для вас картину. Если вы используете такую функцию, как paintPicture (), художник создаст все, что захочет, а затем навсегда повесит готовое произведение на любую стену, на какой он понравится, может быть, даже в другом городе.
Вызов такой функции может сэкономить вам время на принятие решений, но также может потребовать большого доверия. Функция выполняет свою работу сама по себе и не возвращает никакой информации, но может повлиять на то, что вы не контролируете.
Танцевальные движения BoogieBot являются примером функции этого типа. Имя функции сообщает BoogieBot, что делать. «Работа» - это сам ход.
✅ Параметры, ❌ Возвращаемое значение ( 有 參數 , 沒 回 傳)
paintPicture(width: Int, height: Int, dominantColor: UIColor)
Эти функции действительно работают, которые меняются в зависимости от аргументов, но ничего не возвращают.
Теперь вы можете попросить художника создать картину определенного размера, возможно, в определенной цветовой гамме или с изображением вашего любимого пейзажа. Вы получаете больший контроль над выполненной работой, но художник по-прежнему имеет полный контроль над картиной и повесит ее, где пожелает.
Функция hello (name :) является примером этого. Вы управляете именами, а «работа» - это вывод строки на консоль.
❌ Параметры, ✅ Возвращаемое значение ( 沒 參數 , 有 回 傳)
paintPicture() -> Painting
Эта функция возвращает значение без дополнительной информации.
Представьте, что вы не указали художнику никаких входных параметров, поэтому он создает что-то исключительно на основе своего собственного видения. После того, как они закончат работу, они передадут готовую картину вам напрямую. Теперь вы можете повесить, продать или даже дополнить картину самостоятельно.
До сих пор в этом курсе вы не видели функции с этой комбинацией. Примерами могут быть функции, которые выдают случайное число или сообщают текущую дату и время.
✅ Параметры, ✅ возвращаемое значение ( 有 參數 , 有 回 傳)
paintPicture(width: Int, height: Int, dominantColor: UIColor) -> Painting
Эта функция возвращает значение на основе переданной информации. Она принимает все ваши предложения ввода и преобразует их в новое выходное значение.
В этом случае вы даете художнику информацию о том, что вы хотите, чтобы он создал, и получаете обратно готовый продукт, который вы можете использовать именно так, как вам нравится.
Примечание
Когда функция выполняет какую-либо работу, не связанную с возвращаемым значением, например, выводит на консоль или заставляет BoogieBot танцевать, эта работа называется побочным эффектом. Когда вы называете функцию, полезно как-то включить в имя побочный эффект, например leftArmUp (). Если функция не имеет возвращаемого значения, вся ее работа считается побочным эффектом.