前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Swift数据类型

Swift数据类型

作者头像
用户2554571
发布2018-07-19 14:31:09
8860
发布2018-07-19 14:31:09
举报
文章被收录于专栏:liukaili_666888999liukaili_666888999

内置数据类型

Int 一般来说,你不需要专门指定整数的长度。Swift 提供了一个特殊的整数类型Int,长度与当前平台的原生字长相同: 在32位平台上,Int和Int32长度相同。 在64位平台上,Int和Int64长度相同。 除非你需要特定长度的整数,一般来说使用Int就够了。这可以提高代码一致性和可复用性。即使是在32位平台上,Int可以存储的整数范围也可以达到-2,147,483,648~2,147,483,647,大多数时候这已经足够大了。 UInt Swift 也提供了一个特殊的无符号类型UInt,长度与当前平台的原生字长相同: 在32位平台上,UInt和UInt32长度相同。 在64位平台上,UInt和UInt64长度相同。

注意: 尽量不要使用UInt,除非你真的需要存储一个和当前平台原生字长相同的无符号整数。除了这种情况,最好使用Int,即使你要存储的值已知是非负的。统一使用Int可以提高代码的可复用性,避免不同类型数字之间的转换,和匹配数字的类型推断。

浮点数 浮点数是有小数部分的数字,比如3.14159,0.1和-273.15。 浮点类型比整数类型表示的范围更大,可以存储比Int类型更大或者更小的数字。Swift 提供了两种有符号浮点数类型: Double表示64位浮点数。当你需要存储很大或者很高精度的浮点数时请使用此类型。 Float表示32位浮点数。精度要求不高的话可以使用此类型。

注意:

Double精确度很高,至少有15位数字,而Float最少只有6位数字。选择哪个类型取决于你的代码需要处理的值的范围。

布尔值 Swift 有一个基本的布尔(Boolean)类型,叫做Bool。布尔值指逻辑上的值,因为它们只能是真或者假。Swift 有两个布尔常量,true和false。 字符串 字符串是字符的序列集合。 字符 字符指的是单个字母。 可选类型 使用可选类型(optionals)来处理值可能缺失的情况。可选类型表示有值或没有值。

数值范围

类型别名

类型别名对当前的类型定义了另一个名字,类型别名通过使用 typealias 关键字来定义。如下:

代码语言:javascript
复制
typealias Feet = Int
var distance: Feet = 100
print(distance)

类型推断

当你要处理不同类型的值时,类型检查可以帮你避免错误。然而,这并不是说你每次声明常量和变量的时候都需要显式指定类型。 如果你没有显式指定类型,Swift 会使用类型推断(type inference)来选择合适的类型。 1.如果你给一个新常量赋值42并且没有标明类型,Swift 可以推断出常量类型是Int,因为你给它赋的初始值看起来像一个整数。 2.如果你没有给浮点字面量标明类型,Swift 会推断你想要的是Double。(当推断浮点数的类型时,Swift 总是会选择Double而不是Float) 3.如果表达式中同时出现了整数和浮点数,会被推断为Double类型。 如下:

代码语言:javascript
复制
// varA 会被推测为 Int 类型 
var varA = 42
print(varA)

// varB 会被推测为 Double 类型  
var varB = 3.14159
print(varB)

// varC 也会被推测为 Double 类型   
var varC = 3 + 0.14159
print(varC)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年09月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内置数据类型
  • 数值范围
  • 类型别名
  • 类型推断
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档