Swift之类型别名

类型别名是一个为已存在类型定义的一个可选择的名字。你可以关键字typealias定义一个类型的别名。

当你想通过在一个在上下文中看起来更合适可具有表达性的名字来引用一个已存在的类型时,这时别名就非常有用了,比如当使用来自外部指明大小的数据时:

typealias AudioSample = UInt8

一旦你定义了一个类型别名时,你就可以在任何地方使用类型别名来代替原来使用的类型名字:

var maxAmplitudeFound = AudioSample.min  // maxAmplitudeFound = 0

在这里,AudioSample被定义为一个UInt的类型别名,调用AudioSample.min实际上是调用UInt8.min,返回一个值为0的数字来初始化maxAmplitudeFound变量。

时间: 2024-08-10 12:04:16

Swift之类型别名的相关文章

Swift编程语言学习1.5——类型别名、布尔值、元组

类型别名 类型别名(type aliases)就是给现有类型定义另一个名字.你可以使用typealias关键字来定义类型别名. 当你想要给现有类型起一个更有意义的名字时,类型别名非常有用.假设你正在处理特定长度的外部资源的数据: typealias AudioSample = UInt16 定义了一个类型别名之后,你可以在任何使用原始名的地方使用别名: var maxAmplitudeFound = AudioSample.min // maxAmplitudeFound 现在是 0 本例中,A

Swift类型转换 和 类型别名的定义(typealias)

(一)类型转换 类型转化在 Swift 中是比较严格的,不同类型之间可以认为是不能相互转化的,只能重新产生一个对象和值,并拷贝一份. 1.0 整型数值之间的转换. // 不同类型是不能直接相加的,这时我们就需要用到类型转换 let int8 : Int8 = 12 let int16 : Int16 = 14 + Int16(int8) print(int16) //输出 : 26 又上可见,通过转化也可以顺利得到正确的值,但是值得我们注意的是:由短整型向长整型转换是都可以成功的,且不会丢失值:

Swift - 06 - 数值类型转换和类型别名

//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground" // 数值类型转换 let three = 3 let PI = Double(three) + 0.1415926 // 两个类型不相同的数值不能进行基础运算,所以进行数值类型转换 // 类型别名(typealias) typealias NSInterger = Int var number

iOS学习之Swift 关联类型

有时候我认为类型理论是故意弄的很复杂,以及所有的那些函数式编程追随者都只是胡说八道,仿佛他们理解了其中的含义.真的吗?你有一篇5000 字的博客是写关于插入随机类型理论概念的吗?毫无疑问的没有.a)为什么有人会关心这些以及b)通过这个高大上的概念能帮我们解决什么问题?我想把你装进麻布袋里,扔进河里,并且砸进一个坑 里. 我们在讨论什么?当然,关联类型. 当我第一次看到 Swift 范型的实现时, 关联类型的用法的出现,让我感到很奇怪. 在这篇文章,我将通过类型概念和一些实践经验,这几乎都是我用自

04_Swift2基础之类型安全和类型推测+字面量+类型别名

1. 类型安全和类型推测 1> 类型安全 Swift 是一个 _类型安全(type safe)_ 的语言.类型安全的语言可以让你清楚地知道代码要处理的值的类型.如果你的代码需要一个`String`,你绝对不可能不小心传进去一个`Int`. 由于 Swift 是类型安全的,所以它会在编译你的代码时进行 _类型检查(type checks)_ ,并把不匹配的类型标记为错误.这可以让你在开发的时候尽早发现并修复错误. 当你要处理不同类型的值时,类型检查可以帮你避免错误.然而,这并不是说你每次声明常量和

Swift基础类型

1.使用 let 来声明常量,使用 var 来声明变量. 注:你能够在一行中声明多个常量或者多个变量.用逗号隔开. 2.类型标注 假设初始值没有提供足够的信息(或者没有初始值),那你须要在变量后面声明类型,用冒号切割. let variable: String 注意:一般来说你非常少须要写类型标注. 假设你在声明常量或者变量的时候赋了一个初始值,Swift能够判断出这个常量或者变量的类型. 3.输出函数println 和 print println:是一个用来输出的全局函数,输出的内容会在最后换

类型别名(define与typedef)

#define NEW OLD //使用预处理器的方法,为OLD定义一个新名称NEW,使用define定义的类型别名,会在预处理的过程中对NEW进行“单纯”的替换,例如: #define N 3+2 int i = N * 2; //预处理后,将会变成 int i = 3 + 2 * 2; //i 的结果将会是7 typedef typeName aliasName; //使用关键字typedef来创建别名,typedef不会创建新的类型,而只是为已知类型创建一个新名称. 两者比较: typed

Swift 集合类型(Collection Type) 之 字典(dictionary)(官方文档翻译及总结)

Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组和字典中存储的数据值类型必须明确.这意味着我们不能把不正确的数据类型插入其中.Swift对显式类型集合的使用确保了我们的代码对工作所需要的类型非常清楚.也让我们在开发中可以早早的找到任何的类型不匹配错误.如果你用变量(var)创建的集合,这些集合就是可变的(增删改).如果用常理创建的,这些集合是不能被操作的. 注意: 如果集合的元素是不变的,那就将集合声明为常量.这样Swift编译器能对你创建的集合做性能优化. 1. 数组(arr

swift基本类型

一.数字类型: Swift数字类型之间的转换Swift是一个安全的语言,对于类型的检查非常严格,不同类型之间不能随便转换. 1.整型之间的转换:在C和Objective-C等其他语言中,整型之间有两种方法 从小范围数到大范围数转换是自动的: 从大范围数到小范围数需要强制转换,有可能造成数据精度的丢失. 而在Swift中这两种方法是行不通的,我们需要通过一些函数进行显示地转换,代码如下: let start:uint8=10; let end:uint16=20: let total=start+