obo.dev

Функция print()

05 Dec 2022

Функция print()

Функция print() записывает текстовые представления заданных элементов в стандартный вывод.

С помощью данной функции можно вывести в область отладки (иногда называемую консолью) заданную информацию в виде текстовой строки.

Общий синтаксис функции print()

Эта функция встроенная в язык Swift и она объявлена так:

func print(
    _ items: Any...,
    separator: String = " ",
    terminator: String = "\n"
)

Функция принимает три параметра:

  • items - Ноль или более элементов для печати;
  • separator - Строка для печати между каждым элементом. По умолчанию используется один пробел (“ “);
  • terminator - Строка для печати после того, как все элементы будут напечатаны. По умолчанию используется новая строка (“\n”).

Использование функции print()

Функцию print() используют для проверки кода на ошибки. Можно передать в неё какой-нибудь элемент, чтоб проверить какое значение он содержит, отследить выполнение части кода и выполнение других функций. Например, отследить нажатие кнопки. Для этого достаточно в метод нажатия кнопки добавить вывод в консоль какого-то определенного текста.

В конечном проекте все вызовы функции print() удаляются, так как она необходима в основном для отладки приложения и отслеживания его работоспособности.

Можно передать ноль или более элементов функции print(_:separator:terminator:). Текстовое представление для каждого элемента такое же, как и при вызове String(item).

Например, рассмотрим следующий код:

print("Привет!")

// Output
// Привет!

Этот код выведет сообщение в консоль «Привет».

Достаточно часто в данной функции второй и третий параметры используются со значением по умолчанию. Поэтому они не указываются при вызове функции.

В следующем примере на стандартный вывод выводится строка, замкнутый диапазон целых чисел и группа значений с плавающей запятой:

print("One two three four five")

// Output
// One two three four five

print(1...5)

// Output
// 1...5

print(1.0, 2.0, 3.0, 4.0, 5.0)

// Output
// 1.0 2.0 3.0 4.0 5.0

Если передаются более одного элемента для вывода на печать, то элементы разделяются запятыми. Пример указан выше.

Чтобы напечатать элементы, разделенные чем-то другим, кроме пробела, следует передать разделитель как строку в параметр separator. Например:

print(1.0, 2.0, 3.0, 4.0, 5.0, separator: " ... ")

// Output
// 1.0 ... 2.0 ... 3.0 ... 4.0 ... 5.0

Вывод каждого вызова функции print(_:separator:terminator:) по умолчанию включает новую строку. Чтобы напечатать элементы без завершающей новой строки, следует передать пустую строку в качестве значения параметра terminator.

for n in 1...5 {
    print(n, terminator: "")
}

// Output
// 12345

В этом примере выполняется цикл и в каждой его итерации выполняется вызов функции print(). Но так как параметр terminator имеет в качестве значения пустую строку, то после каждого вывода элемента в консоль - курсор не будет переходить на новую строку и будет выводить последующий элемент в этой же строке. После выполнения цикла курсор по прежнему останется на этой строке. Для переноса курсора на новую строку можно вызвать функцию print() с пустыми параметрами.

Если необходимо вывести строковый элемент в несколько строчек, то можно использовать либо многостроковую строку либо добавлять оператор, который указывает на перенос курсора на новую строку - “\n”.

Пример с многостроковой строкой:

print("""
some string one
some string two
""")

// Output
// some string one
// some string two

Пример с оператором “\n”:

print("some string one\nsome string two")

// Output
// some string one
// some string two

В этом примере \n будет восприниматься как команда перехода на новую строку.

Дополнительно

Для того, чтоб проверить результат выполнения функции с возвращаемым значением, можно передать в функцию print() вызов проверяемой функции:

func someFunc(a: Int, b: Int) -> Int {
    return a + b
}
print(someFunc(a: 2, b: 3))

// Output
// 5

Можно вывести в консоль тип данных элемента, передав в качестве элемента функцию type(of:):

var str = "some string"
print(str, type(of: str))

// Output
// some string String

var array = [1, 2, 3]
print(array, type(of: array))

// Output
// [1, 2, 3] Array<Int>

Еще полезные ссылки

Ссылки на официальную документацию: