Swift学习 -- 数据类型

Swift的数据类型介绍:

整型,浮点型,对象类型,结构体类型,枚举类型,共用体类型等等

下面主要介绍整型和浮点型。

整型:

  1. 有符号整型
Int:有符号4位整型(和平台有关,一般为4位,相当于OC的NSInteger)(默认)
Int8:有符号8位整型
Int16:有符号8位整型
Int32:有符号8位整型
Int64:有符号8位整型
  1. 无符号整型
  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 用于对象类型,结构体类型等

如果大家有什么疑惑,或者文章有什么错误的地方,请大家留言。

你可能感兴趣的:(Swift学习 -- 数据类型)