Swift笔记<一>常量变量及基本数据类型

1.导入框架
  • OC
#import <Foundation/Foundation.h>
  • Swift
import Foundation
2.常量与变量
  • OC中
int const a = 10;//常量
int a =10;//变量
  • Swift
    • 格式:
      • 变量 let 常量名称:[常量类型] = 值
      • 变量 var 变量名称:[变量类型] = 值
    • 注意点:
      • 可以是汉子或Unicode字符
      • []内的类型可省略(swift中存在类型自动推导机制)
      • 值和类型必须相匹配否则报错
      var a = 10;
      a = 10.1;//报错提示Cannot assign value of type "Double" to type "Int"
      
      • Swift是类型安全的语言,必须是相同类型的参数,才能参与运算
    • 开发选择
      • 优先选择常量(比较安全的写法),如果需要修改选择变量
3.基本数据类型|类型转换|类型推导
  • 整型
    • OC
      • 有符号:signed
        • char 8位
        • short int 16位
        • int 32位
        • long int 64位
        • NSInteger 跟平台,CPU相关(32位平台 = int ; 64位平台 = long int)
      • 无符号:unsigned
        • char
        • short int
        • int
        • long int
        • NSInteger
    • Swift
      • 有符号
        • Int8 有符号8位整型
        • Int16 有符号16位整型
        • Int32 有符号32位整型
        • Int64 有符号64位整型
        • Int 跟平台相关(默认相当于OC的NSInteger)
      • 无符号
        • UInt8 有符号8位整型
        • UInt16 有符号16位整型
        • UInt32 有符号32位整型
        • UInt64 有符号64位整型
        • UInt 跟平台相关(常用相当于OC的NSUInteger)
  • 浮点型
    • OC
      • float
      • double
  • Swift
    • Float:32位浮点型
    • Double:64位浮点型(默认)
  • Bool类型
    • C/OC
      • C/OC并没有真正的Bool类型
      • C语言的Bool类型非0即真
      • OC的Bool类型是typedef signed charBool
      • OC中的if条件可以是任何整数(非0即真)
    • Swift
      • 引入真正的Bool类型
      • Bool (true,false)
      • Swift的if条件只是一个Bool的值或则是返回的值是Bool类型的表达式
  • Swift 是类型安全的语言
    * Swift必须明确数据类型
    * 直接指明数据类型
    * 自动推导类型机制
    * 如果取值错误会直接报错,OC不会
    * Swift会进行溢出检查,OC不会
    * Swift没有隐式类型转换,不允许不同类型的数据类型进行计算(需进行类型强制转换)
     let a = 10
     let b = 10.1
     a +Int(b)
     //或者
     Double(a)+b
    
4. 基本运算
  • OC
    • 有隐式转换,所以允许不同类型的数据进行运算
  • Swift
    • 没有隐式运算,必须指明类型后才能运算
    • 算数运算符 (+,-,*,/,++,--,--)
    • 赋值运算(=,+=,-=,*=,/=,!=)
    • 关系运算符(>,<,>=,<=,==,!=)
    • 逻辑运算符(! && ||) 基本用法和OC一致,唯一要注意的是Swift中的逻辑运算符只能操作Bool类型数值,而OC可以操作整型(非0即真)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容