Una de las actividades de mi vida que ocupa más tiempo, aparte de la edición de video y ver noticias compasivamente, es la programación y todo lo relacionado a la administración de sistemas. En particular todo lo relacionado a la terminal.app en la Mac, BASH y Swift.
Swift es un lenguaje moderno creado por Apple y que funciona tal como esperarías que funcione un lenguaje de programación creado por la empresa de la manzanita.

Como forma de afianzar mi viaje poniendo swift en práctica, voy a empezar una serie de artículos sobre los conceptos más desafiantes.
Uno de los conceptos que pueden confundir al principio del aprendizaje puede ser entender las diferencias entre Structs y Clases.
La diferencia más grande entre estructuras y clases es cómo manejan el almacenamiento y la transferencia de datos.
• Estructuras (Structs): Son tipos por valor, lo que significa que cada vez que las pasas a una función o las asignas a otra variable, estás trabajando con una copia independiente. Si haces un cambio en la copia, el valor original no se ve afectado.
• Clases (Classes): Son tipos por referencia, lo que significa que cuando asignas una clase a otra variable o la pasas a una función, lo que estás compartiendo es una referencia al mismo objeto en la memoria. Por eso, si haces un cambio en una de las referencias, ¡todas las demás lo reflejan!
Veamos un ejemplo rápido en código:
struct PersonaStruct {
    var nombre: String
}
class PersonaClass {
    var nombre: String
    
    init(nombre: String) {
        self.nombre = nombre
    }
}
// Estructura: tipo por valor
var persona1 = PersonaStruct(nombre: "Ana")
var persona2 = persona1
persona2.nombre = "Luis"
print(persona1.nombre) // Salida: "Ana"
print(persona2.nombre) // Salida: "Luis"
// Clase: tipo por referencia
var persona3 = PersonaClass(nombre: "Carlos")
var persona4 = persona3
persona4.nombre = "Sofia"
print(persona3.nombre) // Salida: "Sofia"
print(persona4.nombre) // Salida: "Sofia"
Este pequeño ejemplo te muestra cómo las estructuras mantienen su propio espacio en la memoria (por eso persona1 sigue siendo “Ana”), mientras que las clases comparten el mismo objeto (por eso persona3 y persona4 reflejan el mismo cambio).

You may also like

Back to Top