你的位置:首页 > 操作系统

[操作系统]【Swift学习】Swift编程之旅(二)


  在本节将介绍一些最基础的知识

  swift提供自己版本的类型,下面说明几种简单的类型

Int       整型Double和float 浮点型String     字符串型Bool      布尔型

 

  它也提供了3种主要的强大的集合类型,set集合,array数组,dictionary字典

 

  和C一样,Swift通过变量类存储并通过变量名来关联值。

 

  Swift高级类型【OC中没有】

1.Swift还提供了oc没有的高级类型,比如元组(Tuple),元组可以让你创建或者传递一组数据,比如作为函数的返回值时,你可以用一个元组可以返回多个值。  

2.可选类型,用于处理值缺失的情况。在swift中不仅类和对象可以为nil,任何类型都可以是nil。

 

swift是一门安全的语言,这意味着这门语言在你编码时帮助你清理值的类型,你期望传入一个String类型的值,类型安全会阻止你传入一个int值,当传入时会发生编译时错误。

 

下面详细介绍一下swift的几种简单数据类型

 

一、整型integer

  swift提供有符号和无符号整数。这些整数遵循命名约定类似于C,在一个8位无符号整数是uint8类型,和一个32位有符号整数类型Int32。你可以获取到不同整型数据的最大值和最小值。

UInt8.min 8位整数的最小值  UInt8.max最大值。

 

  Int

  在大多数情况下,在你的代码中你不需要选择一个特定大小的整数。SWIFT提供一个额外的整数类型,int,长度范围与当前平台相等
  在32位平台,int与Int32的大小相同。
  在64位平台上,int与 int64的大小相同。
除非你需要工作与一个特定大小的整数,总是使用int整数值在您的代码。这有助于代码的一致性和互操作性。即使在32位平台,int可以存储任何价值之间- 2147483648到2147483647,足够大的整数范围。

 

  UInt

  还提供了一个无符号的整数类型,uint,长度范围与当前平台相等
  在32位平台、uint是UInt32的大小相同。
  在64位平台上,uint是UInt64的大小相同。

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

 

二、浮点数值

Swift 提供了两种有符号浮点数类型 

- Double表示64位浮点数。当你需要存储很大或者很高精度的浮点数时请使用此类型。

- Float表示32位浮点数。精度要求不高的话可以使用此类型。

 

  类型安全和类型推测

 Swift 是类型安全的,所以它会在编译你的代码时进行类型检查(type checks),并把不匹配的类型标记为错误。这可以让你在开发的时候尽早发现并修复错误。类型检查可以帮你避免错误。然而,这并不是说你每次声明常量和变量的时候都需要显式指定类型。如果你没有显式指定类型,Swift 会使用类型推测(type inference)来选择合适的类型。有了类型推测,编译器可以在编译代码的时候自动推测出表达式的类型。原理很简单,只要检查你赋的值即可。因为有类型推测,和 C 或者 Objective-C 比起来 Swift 很少需要声明类型。常量和变量虽然需要明确类型,但是大部分工作并不需要你自己来完成。当推测浮点数的类型时,Swift 总是会选择Double而不是Float。

 

  数值型字面量

十进制数,没有前缀
二进制数,用0B前缀
八进制数,以0o前缀
十六进制数,一个0x前缀

 

  数值类型转换

整数和浮点数的转换必须显式指定类型

 

  类型别名

类型别名(type aliases)就是给现有类型定义另一个名字。你可以使用typealias关键字来定义类型别名

typealias AudioSample = UInt16

 

 

  Booleans布尔值

 Swift 有一个基本的布尔(Boolean)类型,叫做Bool。布尔值指逻辑上的(logical),因为它们只能是真或者假。Swift 有两个布尔常量,true和false: