Estructuras rápidas

Una estructura es un bloque de construcción de propósito general de cualquier código y almacena variables de diferentes tipos de datos en una sola unidad. Al igual que otros lenguajes de programación en Swift, también puede definir las propiedades y los métodos en una estructura, donde las propiedades son el conjunto de constantes o variables que se almacenan como parte de la estructura. Además, no es necesario crear ninguna interfaz separada para implementar la estructura, puede definir la estructura en un solo archivo y luego la interfaz externa usará automáticamente la estructura. 

En Swift, una estructura es un tipo de valor. Tipo de valor significa un tipo cuyo valor se copia cada vez que se asigna a una variable o una constante o se pasa a una función, por lo que podemos decir que cada vez que se crea una instancia de la estructura y cualquier tipo de valor que tengan las propiedades se puede copiar siempre que sea. se pasan en el código y cada vez que definimos una nueva estructura, eso significa que definimos un nuevo tipo de datos. Podemos usar la estructura para encapsular valores de datos simples y también podemos copiar los datos encapsulados y las propiedades relacionadas por sus valores, no por la referencia. Usando la estructura también podemos crear nuestros propios tipos que tienen sus propios métodos y propiedades. Simplemente podemos crear una estructura usando la palabra clave struct

Sintaxis:

struct nombreDeEstructura{

// propiedades y métodos de la estructura

}

Ejemplo: 

Swift

// Swift program to illustrate how to create a structure
import Swift
 
// Creating structure
// Using struct keyword
struct geeksfoegeeks{
 
    // Properties of the Structure
    var employeeName = "Mohit"
    var employeeID = 1234
    var employeeDepartment = "HR"
    var joiningYear = 2019
}

Instancia de estructura

Al igual que una clase en Swift, también podemos crear una instancia de la estructura y, al usar esta instancia, podemos acceder a las propiedades y métodos de la estructura. La estructura también utiliza la sintaxis del inicializador para crear una instancia. Es la forma más fácil y eficiente de crear una instancia de la estructura. Simplemente debe escribir el nombre de la estructura seguido de paréntesis vacíos, por ejemplo, geeksforgeeks(). Usando una sola instancia, podemos acceder a todas las propiedades y métodos de una estructura junto con sus valores y una sola estructura puede contener múltiples instancias.

Sintaxis:

let nombreInstancia = NombreEstructura()

Ejemplo:

Swift

// Swift program to illustrate how to create an instance of the structure
import Swift
 
// Creating structure
// Using struct keyword
struct geeksfoegeeks{
    var employeeName = "Mohit"
    var employeeID = 1234
    var employeeDepartment = "HR"
    var joiningYear = 2019
}
 
// Creating the instance of geeksforgeeks structure
var myinstance = geeksfoegeeks()

Acceso a las propiedades de la estructura

Podemos acceder a las propiedades de la estructura usando la instancia de la estructura seguida de un punto y el nombre de la propiedad. También usando esta sintaxis podemos acceder a las subpropiedades de la estructura. Esta sintaxis también se utiliza para asignar valor a la propiedad especificada oa la subpropiedad.

Sintaxis:

// Para acceder a la propiedad

nombreInstancia.NombrePropiedad

// Para acceder a la subpropiedad

nombreInstancia.NombrePropiedad.SubPropiedadNombre

// Para asignar valor a la propiedad 

nombreInstancia.NombrePropiedad = 23

Ejemplo:

Swift

// Swift program to illustrate how to access the properties of a structure
import Swift
 
// Creating structure
// Using struct keyword
struct geeksfoegeeks{
    var employeeName = "Mohit"
    var employeeID = 1234
    var employeeDepartment = "HR"
    var joiningYear = 2019
}
 
// Creating the instance of geeksforgeeks structure
var myinstance = geeksfoegeeks()
 
// Accessing the properties of geeksforgeeks structure
print("Employee Name:", myinstance.employeeName)
print("Joining Year:", myinstance.joiningYear)

Producción:

Employee Name: Mohit
Joining Year: 2019

Inicializadores de miembro

La estructura siempre genera un inicializador de miembro automáticamente, también se conoce como el inicializador predeterminado. Entonces, sin perder tiempo, puede usar fácilmente estos inicializadores de miembros para inicializar las propiedades de una nueva instancia de estructura. O podemos decir que si la propiedad de la estructura no se inicializa con ningún valor inicial, entonces usando inicializadores de miembros podemos inicializar la propiedad con el valor inicial. Y también podemos usar inicializadores de miembros si la propiedad contiene el valor inicial.

Sintaxis:

let varName = nombreEstructura(nombrePropiedad1: Valor, nombrePropiedad2: Valor) 

Ejemplo:

Swift

// Swift program to illustrate memberwise initializers
import Swift
 
// Creating structure
// Using struct keyword
struct geeksforgeeks{
   
    // Properties of the structure
    var employeeName = "Mohit"
    var employeeID = 1234
    var employeeDepartment = "HR"
    var joiningYear = 2019
}
 
// Creating the instance of geeksforgeeks structure
var myinstance = geeksforgeeks()
 
// Accessing the properties of geeksforgeeks structure
print("Employee Id before updating:", myinstance.employeeID)
 
// Memberwise Initializers
// Here we change the value of employeeID property
// to a new value using Memberwise Initializers
var newdata = geeksforgeeks(employeeID: 234)
print("Employee Id after updating:", newdata.employeeID)
print("________________________________")
 
// Creating another structure
struct employeeDetail{
    var age : Int
    var contact : Int
}
 
// Creating the instance of employeeDetail structure
// Here age and contact properties doesnot conatin
// any initial value. So we initialize this property
// using Memberwise Initializers
var empinstance = employeeDetail(age: 24, contact: 7777777777)
 
// Accessing the property
print("Employee Age: ", empinstance.age)
print("Employee Contact: ", empinstance.contact)

Producción:

Employee Id before updating: 1234
Employee Id after updating: 234
________________________________
Employee Age:  24
Employee Contact:  77777777

Función Estructura interior

Una estructura también puede contener funciones. Cuando una función se define dentro de una estructura, esa función se llama método. El método puede utilizar las propiedades de la estructura. Para acceder a la función podemos usar la sintaxis de puntos. Como se muestra en el siguiente ejemplo, donde creamos un método increment() en la estructura geeksforgeeks para encontrar el incremento en el salario del empleado y luego acceder a ese método usando la sintaxis de puntos. 

Sintaxis:

struct nombreDeEstructura{

func nombreFunción(){

// Cuerpo de la función

}

}

En Swift, generalmente no se le permite escribir métodos que cambien las propiedades, pero puede solicitarlos especialmente. Si desea cambiar la propiedad presente dentro del método, debe declarar esa función utilizando la palabra clave de mutación .

Sintaxis:

struct nombreDeEstructura{

función mutante nombreFunción(){

// Cuerpo de la función

}

}

Ejemplo:

Swift

// Swift program to illustrate method in structure
import Swift
 
// Creating structure
// Using struct keyword
struct geeksforgeeks{
   
    // Property
    var salary = 230000
     
    // Method
    func increment(){
     
        // Finding the new salary
        let newsalary = 2 * salary
        print("New salary: ", newsalary)
    }
}
 
// Creating the instance of geeksforgeeks structure
var myinstance = geeksforgeeks()
 
// Accessing the method
myinstance.increment()

Producción:

New salary:  460000

Usando self en la estructura

A veces, en una estructura, el nombre del parámetro del método es el mismo que el de la propiedad, por lo que el compilador no obtiene el contexto correcto en el que desea operar en la propiedad o en el parámetro del método. Entonces, para superar este tipo de situación, usamos el autopalabra clave. Por lo general, usamos la palabra clave self con la propiedad porque el nombre del parámetro automáticamente tiene mayor prioridad. Usando la palabra clave self, el compilador puede distinguir fácilmente entre el nombre del parámetro y la propiedad. Cuando estamos trabajando con la palabra clave self, lo que significa que estamos accediendo explícitamente al valor actual del tipo nombrado, es exactamente igual a la instancia misma, por lo que puede usar la propiedad self para referirse al objeto actual dentro de su propio objeto. método. La palabra clave self es generalmente útil en inicializadores, cuando dos variables con el mismo nombre están presentes en el mismo ámbito y desea asignar un nuevo valor a la propiedad, no al parámetro, en ese caso, puede usar la palabra clave self antes de la nombre de propiedad utilizando la sintaxis de puntos.

Sintaxis:

self.propertyName

Ejemplo:

Swift

// Swift program to illustrate self keyword
import Swift
 
// Creating structure
// Using struct keyword
struct geeksforgeeks{
   
    // Property
    var article = 230
     
    // Method
    func update(article: Int = 23){
     
        // Finding the updated data
        let updatedData1 = article + 234
        print("Updated Data 1: ", updatedData1)
         
        // Finding the updated data
        // Using self keyword
        let updatedData2 = self.article + 234
        print("Updated Data 2: ", updatedData2)
    }
}
 
// Creating the instance of geeksforgeeks structure
var myinstance = geeksforgeeks()
 
// Accessing the method
myinstance.update()

Producción:

Updated Data 1:  257
Updated Data 2:  464

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *