swift基础语法(02-基本数据类型)

本文对比了Swift与Objective-C中的基本数据类型及其特性,包括整型、浮点型等,并详细介绍了这两种语言中数据类型的安全性和转换方式。
基本数据类型
OC:
整型  int intValue = 10;
浮点型 double doubleValue = 10.10; float floatValue = 5.1;
长 long
短 short
有符号 signed
无符号 unsigned
各种类型的数据的取值范围在不同位的编译器下取值范围不同
 
Swift:注意关键字大写
整型
var intValue:Int = 10
浮点型
var intValue1:Double = 10.10  表示64位浮点数
var intValue2:Float = 9.9     表示32位浮点数
 
如果按照长度划分,Swift中的长短比OC更加精确
var intValue3:Int8 = 6
var intValue4:Int16 = 7
var intValue5:Int32 = 8
var intValue6:Int64 = 9
 
有符号无符号, 默认是有符号的(UInt8/UInt16/UInt32/UInt64)
var uintValue7:UInt = 10
注意:无符号的数比有符号的取值范围更大, 因为符号位也用来存值
 
Swift是类型安全的语言, 如果取值错误会直接报错, 而OC不会
取值不对
OC:unsigned int intValue = -10; 不会报错
Swift: var intValue:UInt = -10 会报错
溢出:
OC:int intValue = INT_MAX + 1; 不会报错
Swift:var intValue:UInt = UInt.max + 1 会报错
 
数据类型的相互赋值(隐式类型转换)
OC可以隐式类型转换
int intValue = 10;
double doubleValue = intValue;
 
Swift:不具有隐式类型转换
在Swift中“值永远不会被隐式转换为其他类型”(OC中可以隐式类型转换)
以下语句会报错
var intValue:Int = 10
var doubleValue:Double = intValue
 
数据类型转换
Swift不允许隐式类型转换, 但可以使用显示类型转换(强制类型转换)
OC写法
int intValue = 10;
double doubleValue = (double)intValue;
 
Swift写法:
var intValue:Int = 10
var doubleValue:Double
doubleValue = Double(intValue)
注意:Double()并不会修改intValue的值
    而是通过intValue的值生成一个临时的值赋值给doubleValue
print(intValue)
print(doubleValue)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/jordanYang/p/5378047.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值