Swift #18: Estructuras genéricas
Source: Dev.to
Estructuras genéricas en Swift
Se puede definir una estructura genérica, indicando el tipo de dato plantilla entre angle‑brackets (<>) después del nombre de la estructura y antes de la llave que inicia el bloque de definición.
struct MyStructure {
var myValue: T
func description() -> String {
"El valor encapsulado es: \(myValue)"
}
}
let intInstance = MyStructure(myValue: 1)
print(intInstance.description())
let stringInstance = MyStructure(myValue: "Hola")
print(stringInstance.description())
Al crear intInstance se especifica en tiempo de compilación que T = Int mediante MyStructure. En cambio, para stringInstance el compilador infiere el tipo a partir del valor proporcionado.
Al igual que las funciones genéricas, las estructuras genéricas resultan especialmente útiles cuando se restringe la plantilla con protocolos.