Sobes.tech
Back to questions
Junior — Middle
73

Возможно ли реализовать универсальную функцию с использованием шаблонов в программировании?

Answer from AI

sobes.tech AI

Да, в программировании можно реализовать универсальную функцию с использованием шаблонов (generics). Это позволяет создавать функции, которые работают с разными типами данных, сохраняя типовую безопасность.

В Swift (iOS) это делается с помощью обобщённых функций:

func swapValues<T>(_ a: inout T, _ b: inout T) {
    let temp = a
    a = b
    b = temp
}

var x = 5
var y = 10
swapValues(&x, &y) // x теперь 10, y теперь 5

var s1 = "Hello"
var s2 = "World"
swapValues(&s1, &s2) // s1 теперь "World", s2 теперь "Hello"

Здесь T — это параметр типа, который позволяет функции работать с любым типом, переданным при вызове. Таким образом, шаблоны позволяют писать переиспользуемый и типобезопасный код.