Swift – Typealias

Una variable es un contenedor con nombre que se utiliza para almacenar un valor. Ahora cada valor tiene un tipo al que pertenece y se conoce como tipo de datos. Un tipo de datos es una clasificación de datos que le dice al compilador cómo un programador quiere usar los datos. Los tipos de datos se pueden clasificar en términos generales en tres categorías: tipos de datos primitivos, definidos por el usuario y derivados. Para utilizar un valor entero, Swift proporciona datos int, para utilizar un valor decimal, Swift proporciona un tipo de datos flotante o doble, y para utilizar una colección de letras, Swift proporciona un tipo de datos de string. La mayoría de los idiomas proporcionan una palabra clave con la que podemos referir tipos de datos con otros nombres o alias también. En Swift, tenemos la palabra clave «typealias» para referirnos a un tipo de datos con otro nombre.

Escriba el alias en Swift

Swift proporciona una funcionalidad mediante la cual podemos referirnos a un tipo de datos con otro nombre o alias. Básicamente proporciona un nuevo nombre al tipo existente y siempre recuerda que no crea un nuevo tipo. Swift proporciona una palabra clave «typealias» que es similar a la palabra clave «typedef» en C++. Podemos definir más de un alias u otro nombre para un tipo de dato en Swift. La sintaxis general para typealias se da a continuación,

Sintaxis:

typealias myDataType = tipo de datos

Aquí, typealias es una palabra clave, dataType es un tipo de datos primitivo, definido por el usuario o complejo, y myAlias ​​es un alias para dataType, es decir, ahora podemos llamar a datatype con el nombre myDataType. En Swift, en términos generales, podemos definir un alias para los siguientes tipos de datos:

1. Escriba alias para tipos de datos primitivos

Swift proporciona una palabra clave con la que podemos referirnos a tipos de datos primitivos con un alias u otro nombre. Por ejemplo, podemos referirnos al tipo de datos Int usando myInt, Float usando myFloat, Double usando myDouble. Internamente, typealias no crea nuevos tipos de datos para los tipos de datos existentes. Simplemente proporciona los nombres alternativos para los tipos existentes.

Sintaxis:

typealias myDataType = tipo de datos

Aquí, typealias es una palabra clave, dataType es uno de los tipos de datos primitivos, Int, Float, Double, etc., myDataType es un alias para dataType, es decir, ahora podemos llamar a datatype con el nombre myDataType

Ejemplo:

En el siguiente programa, hemos usado un alias u otro nombre para tipos de datos primitivos como,

  • myInt para Int
  • myFloat para flotar
  • myDouble para el doble
  • myCharacter para personaje
  • miString para String

Swift

// Swift program to illustrate typealias
// for primitive data types
 
// myInt is an alias to Int
// After this statement using Int or
// myInt is equivalent
typealias myInt = Int
 
// myFloat is an alias to Float
// After this statement using Float or
// myFloat is equivalent
typealias myFloat = Float
 
// myDouble is an alias to Double
// After this statement using Double or
// myDouble is equivalent
typealias myDouble = Double
 
 
// myCharacter is an alias to Character
// After this statement using Character or
// myCharacter is equivalent
typealias myCharacter = Character
 
// myDouble is an alias to String
// After this statement using String or
// myString is equivalent
typealias myString = String
 
// Declaring integerNumber of Int type
// myInt is an alias for Int
var integerNumber : myInt
 
// Initializing the variable
integerNumber = 5
 
// Print the value represented by integerNumber
print("integerNumber:", integerNumber)
 
// Declaring floatNumber of Float type
// myFloat is an alias for Float
var floatNumber : myFloat
 
// Initializing the variable
floatNumber = 5.12345
 
// Print the value represented by floatNumber
print("floatNumber:", floatNumber)
 
// Declaring doubleNumber of Double type
// myDouble is an alias for Double
var doubleNumber : myDouble
 
// Initializing the variable
doubleNumber = 5.123456789
 
// Print the value represented by doubleNumber
print("doubleNumber:", doubleNumber)
 
// Declaring character of Character type
// myCharacter is an alias for Character
var character : myCharacter
 
// Initializing the variable
character = "A"
 
// Print the value represented by character
print("character:", character)
 
// Declaring character of Int type
// myInt is an alias for Int
var string : myString
 
// Initializing the variable
string = "GeeksforGeeks"
 
// Print the value represented by string
print("string:", string)

Producción:

integerNumber: 5
floatNumber: 5.12345
doubleNumber: 5.123456789
character: A
string: GeeksforGeeks

2. Escriba alias para tipos de datos definidos por el usuario

Swift proporciona una funcionalidad mediante la cual podemos referir tipos de datos definidos por el usuario con un alias u otro nombre. Por ejemplo, podemos referirnos al tipo de datos Array<Int> usando arrayInt, Array<Float>, usando arrayFloat, Array<Double> usando arrayDouble. Internamente, typealias no crea nuevos tipos de datos para los tipos de datos existentes definidos por el usuario. Simplemente proporciona los nombres alternativos para los tipos definidos por el usuario existentes.

Sintaxis:

typealias myDataType = tipo de datos

Aquí, dataType es uno de los tipos de datos definidos por el usuario, Array<Int>, Array<Float>, Array<Double>, etc., myDataType es un alias para dataType, es decir, ahora podemos llamar a datatype con el nombre myDataType

Ejemplo:

En el siguiente programa estamos creando una estructura de tipo «Empleado « . Contiene dos variables, una de tipo string y la otra de tipo Int. La variable de tipo string almacena el nombre del empleado y el tipo Int almacena el número de identidad del empleado. Hemos usado otros nombres para los tipos de datos definidos por el usuario como «empleados» para «Array<Employee>» donde «Employee» es un tipo de datos de estructura.

Swift

// Swift program to illustrate typealias for
// user-defined and derived data types
 
// Defining a structure
struct Employee
{
 
    // Declaring a variable of string type
    var employeeName: String
         
    // Declaring a variable of int type
    var employeeId: Int
   
    // Defining a custom constructor
    init(employeeName: String, employeeId: Int)
    {
       
        // Initializing data members with the parameters
        // passed to the constructor
        self.employeeName = employeeName
        self.employeeId = employeeId
   }
 
}
 
// Defining a class
class ComplexNumber
{
    var realPart: Double
    var imaginaryPart: Double
     
    init(realPart: Double, imaginaryPart: Double)
    {
        self.realPart = realPart
        self.imaginaryPart = imaginaryPart
    }
}
 
// Defining alias to "Array<Employee>"
// After this statement using employees or
// Array<Employee> is equivalent
typealias employees = Array<Employee>
 
// myArray is an array of type Employee
var myArray: employees = []
 
// Instantiate an object of structure
var employee1 = Employee(employeeName: "Bhuwanesh",
                         employeeId: 131478)
 
// Instantiate another object of structure
var employee2 = Employee(employeeName: "Harshit",
                         employeeId: 256478)
 
// Instantiate another object of structure
var employee3 = Employee(employeeName: "Hitesh",
                         employeeId: 371948)
 
// Append Employee objects in the array
myArray.append(employee1)
myArray.append(employee2)
myArray.append(employee3)
 
// Print array elements
for element in myArray
{
    print("Employee Name :", element.employeeName,
      ",", "Employee Id :" , element.employeeId);
}

Producción:

Employee Name : Bhuwanesh , Employee Id : 131478
Employee Name : Harshit , Employee Id : 256478
Employee Name : Hitesh , Employee Id : 371948

3. Escriba alias para tipos de datos complejos

Los tipos de datos complejos son tipos de datos que constan de más de un tipo de datos primitivo. También podemos especificar un alias de tipo para tipos de datos complejos. Por ejemplo, podemos referirnos a (Int, Int) -> (Int) como «intIntInt», (Int, Int) -> (Bool) como «intIntBool», etc. Al igual que otros tipos de datos, internamente, typealias no crea nuevos tipos de datos para tipos de datos complejos existentes. Simplemente proporciona los nombres alternativos para los tipos de datos complejos existentes.

Sintaxis:

typealias myDataType = complexDataType

Aquí, complexDataType es uno de los tipos de datos complejos, (Int) -> (Int), (Int) -> (Float), (Float) -> (Float), etc., myDataType es un alias de dataType, es decir, ahora podemos llamar al tipo de datos con el nombre myDataType

Ejemplo:

En el siguiente programa, estamos multiplicando dos números enteros y estamos asignando la función definida (para multiplicar dos números enteros) a un tipo de datos complejo. hemos usado otro nombre o alias para tipos de datos complejos como, «functionType» para «(Int, Int) -> Int».

Swift

// Swift program to illustrate type alias for complex types
 
// Alias to function type (Int, Int) -> Int
// After this statement using (Int, Int) -> Int or
// functionType is equivalent
typealias functionType = (Int, Int) -> Int
 
// Function to multiply variables
func multiply( a: Int, b: Int) -> Int {
    return a * b
}
 
// Assigning multiply function to myFunction
var myfunction: functionType = multiply
 
// Initializing variables
var myNumber1: Int = 7
var myNumber2: Int = 8
 
// Calling function through variable
var answer = myfunction(myNumber1, myNumber2)
 
// Print the value represented by the answer
print("Multiplication of", myNumber1,
      "and", myNumber2, "is", answer)

Producción:

Multiplication of 7 and 8 is 56

Publicación traducida automáticamente

Artículo escrito por bhuwanesh 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 *