swift——内置类型
来源:互联网 发布:球球大作战刷魔盒软件 编辑:程序博客网 时间:2024/06/04 20:13
整型
- Int8,UInt8
- Int16,UInt16
- Int32,UInt32
- Int64,UInt64
- Int,Uint
总结:
- Int&UInt字长依赖platform,字长为当前平台本地字长,因此32-bit platform上等同于Int32&UInt32,64-bit platform上等同于Int64&UInt64,具有跨平台和可移植
- Int&UInt不同于其他任何Intx或UIntx类型,即在32-bit platform上,Int与Int32非同一类型,UInt与UInt32非同一类型,在64-bit platform上,Int与Int64非同一类型,UInt与UInt64非同一类型
注:除非特殊情况,整型推荐使用Int(即使只存储非负整数),一致使用Int方便代码互通,避免不必要类型转换
浮点型
- Double:64-bit,精度至少15位小数
- Float:32-bit,精度仅6位小数
注:在两者都满足使用情况下,推荐使用Double
布尔型
- Bool
不支持隐式类型转换
整型,浮点型,布尔型本质都是struct,因此在swift中不支持内置类型隐式类型转换,自然也不支持内置类型运算时的类型提升,这点不同于oc
- 不支持内置类型隐式类型,因此运算符操作数必须符合特定类型要求
- 不支持内置类型类型提升,因此运算符操作数必须保持同一类型
func implicit_convert(){ var i8: Int8 = 5 var i16: Int16 = 5 var i32: Int32 = 5 var i64: Int64 = 5 var i: Int = 5 var ui: UInt = 5 //i16 = i8 //i = i8 //i = i16 //i = i32 //i = i64 //i = ui; //ui = i var f: Float = 5.0 var d: Double = 5.0 //f = d //d = f var b: Bool = true //b = i //i = b //b = d //d = b}
overflow
如果在编译期确定类型值overflow,编译error,这增强了代码安全性,避免因值overflow引发的逻辑错误
func overflow(){ //let i8: Int8 = 128 let c1: Int8 = 100 let c2: Int8 = 120 //let sum = c1 + c2 //print("sum = \(c1 + c2)")}
0 0
- swift——内置类型
- swift——内置类型字面值
- Swift——(一)为Swift内置类型添加属性
- swift——运算符——内置类型
- c——内置类型
- oc——内置类型
- Swift——可选类型
- c——内置类型字面值
- c——内置类型提升
- 6.Swift教程翻译系列——Swift集合类型
- Swift——(六)Swift中的值类型
- Swift 笔记 (四) —— 集合类型
- Swift基础篇——可选类型
- swift 笔记 (十七) —— 类型转换、嵌套类型
- c——隐式转换——内置类型
- c——运算符——内置类型
- python——内置类型——函数
- 关注C++细节——使用内置算术类型
- Windows下编译android版ijkplayer
- Uva-10815 Andy's First Dictionary
- Collider,Rigidbody
- rh134考试题
- Spring使用总结(二):添加缓存管理监控MBean
- swift——内置类型
- Linux——查看系统的日志的一些实用操作
- ElasticSearch.net分组查询
- 面向对象设计之CRC卡片
- Swift 全屏支持手势返回
- DevExpress中的lookupedit的使用方法详解
- HDU 4920 Matrix multiplication(矩阵优化)
- 《第一行代码》FragmentBestPractice项目(简单新闻应用)
- codeforces 149D Coloring Brackets (区间DP OR 记忆化搜索 总结!!!)