Swift Language Las estructuras son tipos de valor


Ejemplo

A diferencia de las clases, que se pasan por referencia, las estructuras se pasan a través de la copia:

first = "Hello"
second = first
first += " World!"
// first == "Hello World!"
// second == "Hello"

La cadena es una estructura, por lo tanto, se copia en la asignación.

Las estructuras tampoco se pueden comparar usando el operador de identidad:

window0 === window1 // works because a window is a class instance
"hello" === "hello" // error: binary operator '===' cannot be applied to two 'String' operands

Cada dos instancias de estructura se consideran idénticas si se comparan iguales.

En conjunto, estos rasgos que diferencian las estructuras de las clases son lo que hace que las estructuras valoren los tipos.