旅游网站设计策划书,页游排行榜前十名网络游戏,吉林省住房城乡建设厅网站,做网站时怎么取消鼠标悬停在我们使用任何程序语言编程时#xff0c;需要使用各种数据类型来存储不同的信息。
变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。
所有变量都具有数据类型#xff0c;以决定能够存储哪种数据。 内置数据类型
Swift…在我们使用任何程序语言编程时需要使用各种数据类型来存储不同的信息。
变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。
所有变量都具有数据类型以决定能够存储哪种数据。 内置数据类型
Swift 提供了非常丰富的数据类型以下列出了常用了几种数据类型
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可以提高代码的可复用性避免不同类型数字之间的转换并且匹配数字的类型推断。 整数类型需要注意以下几点 在 32 位系统上, Int 和 Int32 长度相同。 在 64 位系统上, Int 和 Int64 长度相同。 在 32 位系统上, UInt 和 UInt32 长度相同。 在 64 位系统上, UInt 和 UInt64 长度相同。 Int8, Int16, Int32, Int64 分别表示 8 位, 16 位, 32 位, 和 64 位的有符号整数形式。 UInt8, UInt16, UInt32, UInt64 分别表示 8 位, 16 位, 32 位 和 64 位的无符号整数形式。
浮点数Float、Double
浮点数是有小数部分的数字比如 3.141590.1 和 -273.15。
浮点类型比整数类型表示的范围更大可以存储比 Int 类型更大或者更小的数字。Swift 提供了两种有符号浮点数类型
Double 表示64位浮点数。当你需要存储很大或者很高精度的浮点数时请使用此类型。Float 表示32位浮点数。精度要求不高的话可以使用此类型。 注意Double精确度很高至少有15位数字而 Float 最少只有6位数字。选择哪个类型取决于你的代码需要处理的值的范围。 布尔值Bool
Swift 有一个基本的布尔Boolean类型叫做 Bool。布尔值指逻辑上的值因为它们只能是真或者假。Swift 有两个布尔常量true 和 false。
字符串String
字符串是字符的序列集合例如
Hello, World!
字符Character
字符指的是单个字母例如
C
可选类型Optional
使用可选类型来处理值可能缺失的情况。可选类型表示有值或没有值。 数值范围
下表显示了不同变量类型内存的存储空间及变量类型的最大最小值
类型大小字节区间值Int81 字节-128 到 127UInt81 字节0 到 255Int324 字节-2147483648 到 2147483647UInt324 字节0 到 4294967295Int648 字节-9223372036854775808 到 9223372036854775807UInt648 字节0 到 18446744073709551615Float4 字节1.2E-38 到 3.4E38 (~6 digits)Double8 字节2.3E-308 到 1.7E308 (~15 digits) 类型别名
类型别名对当前的类型定义了另一个名字类型别名通过使用 typealias 关键字来定义。语法格式如下
typealias newname type例如以下定义了 Int 的类型别名为 Feet
typealias Feet Int现在我们可以通过别名来定义变量
import Cocoatypealias Feet Int
var distance: Feet 100
print(distance)我们使用 playground 执行以上程序输出结果为
100类型安全
Swift 是一个类型安全type safe的语言。
由于 Swift 是类型安全的所以它会在编译你的代码时进行类型检查type checks并把不匹配的类型标记为错误。这可以让你在开发的时候尽早发现并修复错误。
import Cocoavar varA 42
varA This is hello
print(varA)以上程序会在 Xcode 中报错
error: cannot assign value of type String to type Int
varA This is hello意思为不能将 String 字符串赋值给 Int 变量。 类型推断
当你要处理不同类型的值时类型检查可以帮你避免错误。然而这并不是说你每次声明常量和变量的时候都需要显式指定类型。
如果你没有显式指定类型Swift 会使用类型推断type inference来选择合适的类型。
例如如果你给一个新常量赋值42并且没有标明类型Swift 可以推断出常量类型是Int因为你给它赋的初始值看起来像一个整数
let meaningOfLife 42
// meaningOfLife 会被推测为 Int 类型同理如果你没有给浮点字面量标明类型Swift 会推断你想要的是Double
let pi 3.14159
// pi 会被推测为 Double 类型当推断浮点数的类型时Swift 总是会选择Double而不是Float。
如果表达式中同时出现了整数和浮点数会被推断为Double类型
let anotherPi 3 0.14159
// anotherPi 会被推测为 Double 类型
原始值3没有显式声明类型而表达式中出现了一个浮点字面量所以表达式会被推断为Double类型。
实例
import Cocoa// varA 会被推测为 Int 类型
var varA 42
print(varA)// varB 会被推测为 Double 类型
var varB 3.14159
print(varB)// varC 也会被推测为 Double 类型
var varC 3 0.14159
print(varC)执行以上代码输出结果为
42
3.14159
3.14159