Для создания необязательных аргументов следует использовать ключевое слово Optional.
Обычно передача аргумента функции осуществляется по значению. Это означает, что в
функцию передается копия данных, а не сами данные. Если аргумент функции изменяется
внутри тела функции, это не оказывает никакого влияния на значения переменных за ее пределами.
Аргументу функции можно присвоить значение по умолчанию, которое будет использоваться, если при вызове аргумент не задан.