Swift - 类型别名



Swift 提供了一个名为类型别名的特殊功能。类型别名用于为预定义类型定义另一个名称或别名。它仅为现有类型提供一个新名称,而不会创建新的类型。例如,“Int”也可以定义为“myInt”。

定义类型别名后,我们可以在程序中的任何位置使用该别名。单个程序可以包含多个别名。类型别名通常用于提高代码可读性、代码质量和抽象复杂类型。我们可以借助**type alias**关键字定义类型别名。

语法

以下是类型别名的语法:

typealiase newName = existingType

我们可以为以下数据类型定义类型别名:

  • 原始数据类型

  • 用户定义的数据类型

  • 复杂数据类型

Swift 中原始数据类型的类型别名

原始数据类型是 Swift 提供的预定义数据类型,例如 Int、Float、Double、Character 和 String。借助类型别名,我们可以为内置数据类型提供一个新名称,该名称可以在整个程序中使用而不会出现任何错误。例如,“typealias myString = String”,现在使用 myString 我们可以创建一个字符串类型的变量。

语法

以下是原始数据类型类型别名的语法:

typealias newName = PreDefinedDataType

此处,PreDefinedDataType 可以是 Int、Float、Double、String 和 Character。

示例

Swift 程序,用于为内置数据类型创建类型别名。

import Foundation

// Creating type typealias for String
typealias myString = String

// Creating type typealias for Float
typealias myNum = Float

// Creating type typealias for Int
typealias Num = Int

// Declaring integer type variable using Num
var number : Num = 10

// Declaring string type variable using myString
var newString : myString = "Tutorialspoint"

// Declaring float type variable using myNum
var value : myNum = 23.456

print("Number:", number)
print("type:", type(of: number))

print("\nString:", newString)
print("type:", type(of: newString))

print("\nFloat:", value)
print("type:", type(of: value))

输出

Number: 10
type: Int

String: Tutorialspoint
type: String
Float: 23.456
type: Float

Swift 中用户定义的数据类型的类型别名

使用类型别名,我们还可以为用户定义的数据类型提供备用名称。例如,**"typealias mySet = Set<String>"**,现在使用 mySet 我们可以创建一个字符串类型的集合。

语法

以下是用户定义的数据类型类型别名的语法:

typealias newName = dataType

此处,datatype 可以是 Array、Set、dictionary 等。

示例

Swift 程序,用于为用户定义的数据类型创建类型别名。

import Foundation

// Creating type typealias for Set
typealias mySet = Set<Int>

// Creating type typealias for Array
typealias myNum = Array<Int>

// Creating type typealias for Array
typealias Num = Array<String>

// Declaring set of integer type using mySet
var newSet : mySet = [32, 3, 1, 2]

// Declaring array of integer type using myNum
var newArray : myNum = [32, 2, 1, 1, 3]

// Declaring array of string type using Num
var newArr : Num = ["Swift", "C++", "C#"]

print("Set:", newSet)
print("Array:", newArray)
print("Array:", newArr)

输出

Set: [32, 3, 1, 2]
Array: [32, 2, 1, 1, 3]
Array: ["Swift", "C++", "C#"]

Swift 中复杂数据类型的类型别名

复杂数据是包含多个预定义数据类型的特殊类型的数据类型。因此,使用类型别名,我们还可以创建复杂数据类型的别名。例如,**(String, String) -> string** 作为“MyString”。

语法

以下是复杂数据类型类型别名的语法:

typealias newName = CdataType

此处,CdataType 可以是任何复杂数据类型,例如 (String)->(String)。

示例

Swift 程序,用于为复杂数据类型创建类型别名。

import Foundation

// Creating type typealias for function type
typealias Value = (String, String) -> String

func addStr(s1: String, s2: String) -> String{
   return s1 + s2
}
// Assigning addStr function to Value
var newFunc : Value = addStr

// Calling function
var result = newFunc("Hello", "World")

print(result)

输出

HelloWorld
广告