El aliasing de tipos es una característica de algunos lenguajes de programación que permite crear una referencia a un tipo usando otro nombre. No crea un nuevo tipo, por lo que no aumenta la seguridad de tipos . Se puede usar para acortar un nombre largo. Los lenguajes que permiten el aliasing de tipos incluyen: C++ , C# , Crystal , D , Dart , Elixir , Elm , F# , Go , Hack , Haskell , Julia , Kotlin , Nim , OCaml , Python , Rust , Scala , Swift y TypeScript .
Ejemplo
C++
C++ incluye funciones de alias de tipos con la usingpalabra clave.
usando Distancia = int ;DO#
C# versión 12 y superiores admiten el alias de tipos con la palabra clave. Las versiones anteriores restringen su uso al ámbitousing local del archivo o a contextos de importación específicos. [ 1 ]
usando Distancia = int ;Cristal
Crystal utiliza alias de tipo mediante la aliaspalabra clave. [ 2 ]
alias Distancia = Int32 ;D
D incluye alias de tipo usando la aliaspalabra clave. [ 3 ]
alias Distancia = int ;Dardo
Dart incluye funciones de alias de tipo mediante la typedefpalabra clave. [ 4 ]
typedef Distancia = int ;Elixir
Elixir incluye alias de tipo usando @type. [ 5 ]
@type Distancia :: enteroOlmo
Elm incluye funciones de alias de tipo usando type alias.
tipo alias Distancia = IntF#
La función F3 permite el uso de alias de tipo mediante la typepalabra clave.
tipo Distancia = intIr
Go incluye funciones de alias de tipo usando la typepalabra clave y =.
tipo Distancia = intCortar
Hack presenta alias de tipo usando la newtypepalabra clave. [ 6 ] Funcionalmente, esto crea un tipo nuevo y distinto que es incompatible con su tipo subyacente ( int). Esto es más estricto que un alias simple, que generalmente es transparente e intercambiable con el tipo original.
nuevo tipo Distancia = int ;Haskell
Haskell incluye alias de tipos mediante la typepalabra clave. [ 7 ]
tipo Distancia = Int ;Julia
Julia incluye alias de tipos. [ 8 ] El uso de constes una buena práctica (aunque no es estrictamente necesario para los alias). Evita que el alias se reasigne a un tipo diferente más adelante en el programa, asegurando que el alias sea estable.
const Distancia = IntKotlin
Kotlin implementa el alias de tipos mediante la palabra clave. [ 9 ]typealias
typealias Distancia = IntNim
Nim presenta alias de tipos. [ 10 ]
tipo Distancia * = intOCaml
OCaml incluye alias de tipos. [ 11 ]
tipo distancia = intPitón
Python incluye alias de tipos. [ 12 ]
Vector = lista [ float ]Los alias de tipo pueden marcarse con TypeAlias para indicar explícitamente que la instrucción es una declaración de alias de tipo, no una asignación de variable normal. El uso de (de PEP 613) no es necesario para que el alias funcione, pero indica explícitamente a los verificadores de tipos estáticos (como Mypy ) que la asignación es una declaración de tipo, no una asignación de variable en tiempo de ejecución.:TypeAlias
from typing import TypeAliasVector : TypeAlias = lista [ flotante ]Óxido
Rust incluye funciones de alias de tipos mediante la typepalabra clave. [ 13 ]
tipo Punto = ( u8 , u8 );Scala
Scala puede crear alias de tipo usando tipos opacos. [ 14 ]
objeto Logaritmos : tipo opaco Logaritmo = DobleRápido
Swift incluye funciones de alias de tipos mediante la typealiaspalabra clave.
typealias Distancia = Int ;Mecanografiado
TypeScript incluye funciones de alias de tipos mediante la palabra clave. [ 15 ]type
tipo Distancia = número ;Zig
Zig implementa el alias de tipos asignando un tipo de datos a una constante. [ 16 ]
const distancia = u32 ;Referencias
- ↑ "Alias de cualquier tipo: especificaciones preliminares de características de C# 12.0" . learn.microsoft.com . 16 de agosto de 2023. Consultado el 23 de febrero de 2024 .
- ↑ "alias - Crystal" . crystal-lang.org . Consultado el 21 de febrero de 2024 .
- ↑ "Alias Alias - Lenguaje de programación D" . dlang.org . Consultado el 18 de junio de 2023 .
- ↑ "Typedefs" . dart.dev . Consultado el 18 de junio de 2023 .
- ↑ "Especificaciones de tipos y comportamientos" . elixir-lang.github.com . Consultado el 23 de junio de 2023 .
- ↑ "Tipos: Alias de tipo" . docs.hhvm.com . Consultado el 18 de junio de 2023 .
- ↑ "Sinónimo de tipo - HaskellWiki" . wiki.haskell.org . Consultado el 18 de junio de 2023 .
- ↑ "Tipos · El lenguaje Julia" . docs.julialang.org . Consultado el 23 de junio de 2023 .
- ↑ "Alias de tipo | Kotlin" . Ayuda de Kotlin . Consultado el 18 de junio de 2023 .
- ↑ "Nim by Example - Types" . nim-by-example.github.io . Consultado el 21 de junio de 2023 .
- ↑ "Manual de referencia de OCaml" . ocaml.org . Consultado el 23 de abril de 2024 .
- ↑ "typing — Soporte para sugerencias de tipo" . Documentación de Python . Python Software Foundation . Consultado el 18 de junio de 2023 .
- ↑ "Alias de tipo - La referencia de Rust" . doc.rust-lang.org . Consultado el 18 de junio de 2023 .
- ↑ "Tipos opacos" . Documentación de Scala . Consultado el 18 de junio de 2023 .
- ↑ "Documentación - Tipos cotidianos" . www.typescriptlang.org . Consultado el 18 de junio de 2023 .
- ↑ "Documentación - El lenguaje de programación Zig" . ziglang.org . Consultado el 14 de octubre de 2024 .
- Tipos de datos
- Estructuras de programación
- Comparación de lenguajes de programación