一、(1.1)Swift常量 变量 常见数据类型 类型安全与类型推断

常量 变量

常量和变量将名称与特定类型的值相关联。常量设置后无法更改,变量可以在将来设置不同的值。

常量 变量的声明
  • 常量和变量必须在使用之前声明。使用let关键字声明常量,使用var关键字声明变量。
  • 声明常量或变量时,可以提供类型注释,以清楚常量或变量可以存储的值的类型。
  • 通过在常量或变量名称后面放置冒号,后跟空格,后跟要使用的类型的名称来编写类型注释。
var value1 = 0
var value2 :Int = 10

value1 = 10//变量值可再次修改

//可以在一行生命多个常量或变量 用 , 分隔
var valueA : Int = 5, valueb : String = "0.0", valueC : Float = 0.0
//可以在一行定义多个相同类型的变量
var valueD,valueE,valueF :String
let valueG,valueH,valueI :String

(valueD,valueE,valueF) = ("D","E","F")

print(valueD,valueE,valueF)//输出:D E F\n
print("valueD :\(valueD)  valueE :\(valueE)  valueF :\(valueF)")//输出: valueD :D  valueE :E  valueF :F\n

print(valueG,valueH,valueI)//报错!使用之前必须初始化

注意
常量只能赋值一次,不要求在编译时期确定,但是在使用之前必须赋值一次
常量、变量在初始化之前,都不能使用

常量/变量 未初始化之前不可使用
使用print函数打印常量或变量值

见上面的代码

常见数据类型

常见数据类型归纳
【疑问】为什么Int 、Float等以及String、Dictionary、Array等是结构体类型?相对于OC,有什么优势呢?(这里后面会讲到)

整形类型
  • Swift提供8,16,32和64位格式的有符号和无符号整数。遵循类似于C的命名约定
  • Int8 Int16 Int32 Int64 (对应也有UInt8...)
let uIntMin = UInt8.min
let uIntMax = UInt8.max
print(uIntMin,uIntMax)//输出: 0 255\n

除非您需要使用特定大小的整数,否则请始终在代码中使用Int作为整数值。这有助于代码一致性互操作性
因为:在32位平台上,Int与Int32的大小相同。在64位平台上,Int与Int64的大小相同。

浮点型小数
  • Double 64位浮点数,精度15位 Float 32位,精度6位。
字面量 (在1.2节中讲述的更加详细明确)
  1. 布尔
  • true
  • false
  1. 字符串
  • 由("")包含
  1. 字符
  • 由("")包含
  • 如何区分字符和字符串? 必须声明Character类型
  • 例 let char : Character = "H"
  1. 整数
  2. 浮点数
  3. 数组
  4. 字典
    (整数 浮点数 数组 字典以后会更详细讲明)
类型安全与类型推断

Swift是一种类型安全的语言。 如果您的部分代码需要String,则不能错误地将其传递给Int。、

  • 由于类型推断,Swift比C或Objective-C等语言需要更少的类型声明。 常量和变量仍然是显式类型的
  • 如果将文字值42分配给新常量而不说它是什么类型,则Swift推断常量为Int
  • 如果您没有为浮点文字指定类型,Swift会推断您要创建Double
  • 如果在表达式中组合整数和浮点文字,则将从上下文推断出Double类型

Swift学习日记1.1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容