Swift的数据类型介绍:
整型,浮点型,对象类型,结构体类型,枚举类型,共用体类型等等
下面主要介绍整型和浮点型。
整型:
- 有符号整型
Int:有符号4位整型(和平台有关,一般为4位,相当于OC的NSInteger)(默认)
Int8:有符号8位整型
Int16:有符号8位整型
Int32:有符号8位整型
Int64:有符号8位整型
- 无符号整型
UInt:无符号4位整型(和平台有关,一般为4位,相当于OC的NSUInteger)
UInt8:无符号8位整型
UInt16:无符号8位整型
UInt32:无符号8位整型
UInt64:无符号8位整型
浮点型
Float:32位浮点型
Double:64位浮点型(默认)
类型推导
- Swift是强类型的语言。
- Swift中任何一个标识符都要有明确的类型。
注意:在定义一个标识符时,有明确的赋值,则可以省略类型。
因为Swift的类型推导,可以根据赋值来推导出标识符的类型。
let a : Int = 10 //无类型推导
//因为10是Int(默认),所以a是Int类型
let a = 10 // 类型推导
注意
//❌ 因为m的类型没有明确
var m
m = 10
//✅ 因为m的类型明确
var m : Int
m = 10
//✅特殊:默认关联在一起
let m : Int
m = 10
//✅
let m : Int;
m = 10;
基本运算
- Swift中在进行基本运算时,类型必须一致(因为Swift中没有像OC那样的隐式转换)
//OC
//✅
int a = 10;
float b = 20.1
int result = a + b
//Swift
//❌
let a = 10
let b = 1.01
let result = a + b
//✅
let a = 10
let b = 1.01
let m = Int(b) //强制转换
let result = a + m
- 强制转换
格式: 类型(标识符)
let a = 2.55
let b = Int(a)
注意
强制转换不是四舍五入,而是直接取位,如Int(10.999) 的值为10。
- 一些疑惑
//✅
let a = 2.55
let b = Int(a)
//❎
let view = UIView()
let btn = UIButton(view)
//✅
let ban = view as UIButton
//猜想:Int()这种用于基础类型,整型,浮点型
as UIView 用于对象类型,结构体类型等
如果大家有什么疑惑,或者文章有什么错误的地方,请大家留言。
网友评论