🧑🏫02. Функции
Темы:
Что такое функция?
Функция — это как рецепт или инструкция для выполнения какого-то конкретного действия. Например, если ты хочешь приготовить чай, то у тебя есть пошаговая инструкция, как это сделать: нагреть воду, положить чайный пакетик, добавить сахар. Функция в программировании работает точно так же: мы создаем "инструкцию" для выполнения определенного действия, и каждый раз, когда нужно, можем её "вызвать" и получить результат.
Зачем нужна функция?
Функция помогает избегать повторений и делает код организованным и понятным. Вместо того чтобы писать одни и те же действия много раз, ты можешь создать функцию и просто вызывать её там, где нужно.
Как создать функцию в Dart
В Dart функция начинается с ключевого слова void (если она не возвращает никакого значения) или с указания типа данных, если функция должна что-то вернуть (например, число или текст). Затем идет имя функции, круглые скобки для параметров (если они есть), и фигурные скобки {} для действий, которые она выполняет.
Пример простой функции:
void sayHello() {
print("Hello, world!");
}Здесь void указывает, что функция ничего не возвращает, sayHello — имя функции, а print("Hello, world!") — это то, что она делает.
Теперь давай посмотрим на примеры в Flutter с различными параметрами и настройками:
Примеры:
Пример 1: Функция без параметров
Здесь showGreeting просто выводит сообщение. В Flutter можно вызвать её в любом месте, где это необходимо.
Пример 2: Функция с обязательным параметром
Параметры – это как ингредиенты для рецепта. Когда функция нуждается в каком-то конкретном значении, это можно передать через параметр.
Здесь greetUser принимает имя как обязательный параметр name. Функция не выполнится правильно без этого параметра.
Пример 3: Функция с необязательным параметром
Иногда параметр можно пропустить — это необязательный параметр, и он указывается в квадратных скобках [].
В этом примере, если greet вызывается без имени, по умолчанию будет использовано значение "друг".
Пример 4: Функция с несколькими параметрами, включая обязательный и необязательный
Ты можешь использовать и обязательные, и необязательные параметры в одной функции.
Здесь type обязателен, а size необязателен и имеет значение по умолчанию "средний".
Пример 5: Функция с несколькими параметрами, указание на действие
Когда функции должны что-то выполнять в интерфейсе, они могут управлять поведением виджетов.
Здесь функция showMessage вызывается, когда кнопка нажата, и выводит сообщение в консоль.
Резюме
Функции помогают структурировать код, избегая повторений. Вот основные типы параметров в Dart:
Обязательные параметры — такие параметры нужно передавать обязательно.
Необязательные параметры — их можно пропустить, и у них могут быть значения по умолчанию.
Значения по умолчанию — полезны, когда тебе нужно стандартное значение, если параметр не указан.
Эти примеры показывают, как функции взаимодействуют с Flutter-кодом, помогая создавать динамичные и удобные интерфейсы.
Возвращаемая функция
Возвращаемая функция — это функция, которая не просто выполняет действие, но и возвращает результат. Например, если тебе нужно что-то посчитать, ты можешь использовать возвращаемую функцию, которая после вычислений отдаст тебе результат. В Dart, чтобы указать, что функция что-то возвращает, вместо void мы пишем тип данных, который она вернет, например int, String, bool, или Widget.
Аналогия
Представь, что функция — это калькулятор. Когда ты вводишь числа и нажимаешь «=», калькулятор выполняет свои действия и возвращает тебе результат (например, сумму или разницу чисел). Если бы калькулятор просто выполнял операции, но не показывал результат, это не имело бы смысла. Возвращаемая функция работает так же: она производит расчеты или действия и возвращает результат, который ты можешь использовать в другом месте.
Теперь давай посмотрим на примеры в Flutter, каждый из которых будет использовать возвращаемые функции для разных типов данных.
Примеры с String, int, bool, и Widget
String, int, bool, и Widget1. Пример с возвращаемым String
StringПредставим, что функция возвращает имя пользователя.
Здесь функция getUserName() возвращает строку "Alice". Этот текст используется в виджете Text, чтобы показать приветствие.
2. Пример с возвращаемым String (форматированное сообщение)
String (форматированное сообщение)Функция возвращает строку с форматом сообщения.
Функция createWelcomeMessage принимает параметр name и возвращает приветственное сообщение.
3. Пример с возвращаемым int (простое сложение)
int (простое сложение)Функция возвращает сумму двух чисел.
Функция add принимает два числа и возвращает их сумму.
4. Пример с возвращаемым int (длина строки)
int (длина строки)Функция возвращает количество символов в строке.
Функция getStringLength возвращает длину переданной строки.
5. Пример с возвращаемым bool (проверка числа)
bool (проверка числа)Функция проверяет, является ли число четным.
Функция isEven возвращает true, если число четное, и false — если нечетное.
6. Пример с возвращаемым bool (проверка возраста)
bool (проверка возраста)Функция проверяет, совершеннолетний ли пользователь.
Функция isAdult возвращает true, если возраст равен или больше 18.
7. Пример с возвращаемым Widget (заголовок с текстом)
Widget (заголовок с текстом)Функция возвращает виджет Text с заданным текстом.
Функция buildHeader возвращает виджет Text с заданным стилем.
8. Пример с возвращаемым Widget (кнопка)
Widget (кнопка)Функция возвращает виджет ElevatedButton.
Функция buildButton возвращает кнопку ElevatedButton с заданным текстом.
9. Пример с возвращаемым Widget (контейнер с цветом)
Widget (контейнер с цветом)Функция возвращает виджет Container с заданным цветом.
Функция buildColorBox возвращает контейнер (Container) с заданным цветом.
Объяснение
Каждая функция возвращает результат, который используется в build методе для отображения данных на экране. Возвращаемые функции помогают делать код более гибким, повторно использовать элементы и легко изменять отображение, просто изменяя параметры функции.
Last updated