zoukankan      html  css  js  c++  java
  • Swift数据类型

    1、Swift中常用数据类型:首字母大写
    Int、Float、Double、Bool、Character、String
    Array、Dictionary、元组类型(Tuple)、可选类型Optional
     
    2、指定数据类型
    在常量/变量后面加上冒号(:)和类型名称,和Delphi很像
     
    3、不指定数据类型:
    let 、 var,系统自动推断数据类型
     
     
    Swift严格要求变量在使用前必须进行初始化
     
     
    整数:
    分为两种:
    有符号:signed,正、负、零
    无符号:unsigned,正、零
    Swift提供了8、16、32、64位的有符号和无符号的整数
    Int8:8位有符号整数
    UInt8:32位无符号
    Int8、Int16、Int32、Int64
     
    最值:
    可以直接使用min和Max属性获取某个类型的最小值和最大值
    let minValue = UInt8.min   //0
    let maxValue = UInt8.max   //255
     
    Int和UInt的长度和当前系统平台一样
    在32位系统平台, Int 和 UInt的长度是32位
    在64位系统,就是64位了
    为了避免类型问题,就直接使用var就好了,让系统自己去判断,避免数据溢出
    二进制:0b
    八进制:0o
    十六进制:0x
    浮点数:
    Double:64位
    Float:32位
    没有指定时默认Double类型
     
    浮点数可以用十进制和十六进制来表示
     
    时间:2015年08月04日
    1、类型转换
    相同类型变量、常量的才能进行操作
    let a = 3 //a Int类型
    let b = 0.15 //b Double类型
    let sum = Double(a) + b //转换类型后才能操作
     
    2、类型别名
    可以使用typelias关键字定义类型的别名,和C语言的typedef作业类似
    原类型名称能用在什么地方,别名就能用在什么地方
    typealias MyInt = Int
    let num :MyInt = 20

    let minValue = MyInt.min
    let mm = MyInt(3.14)  //3

     可选类型

    使用可选类型optional来处理可能缺失的情况。
    标准格式:
    var sum :Optional<Int>  //nil
    常用格式:?,要紧跟类型
    注意:如果没有赋值,默认为nil
     
    var mm : Int?  //nil
    mm = 100  //100
    var num : Int? = 10  //10
     
    if语句+强制解析(!)
    可以使用if语句来判断可选是否包含值,如果有值:true,没有:false
    var mm : Int?  //nil
    mm = 100  //100
    var num : Int? = 10  //10
    if mm != nil {
        print(mm)  //输出结果: Optional(100)
    }
    强制解析:!
    var mm : Int?  //nil
    mm = 100  //100
    var num : Int? = 10  //10
    let sum = mm + num  //会报错
    let sum = mm! + num!  //这样才正确:110
     
    隐式解析:条件确定有值
    var mm : Int!  //nil
    mm = 100  //100
    var num : Int! = 10  //10
    if mm != nil {
        print(mm) //输出结果:100
    }
    let sum = mm + num  //这样就不用加!
    什么是元组类型
    Swift的特有类型,元组类型由N个任意类型的数据组成(N>=0)
    组成元组类型的数据可以称为:元素
     
    明确指定元组类型:
    let person :(String ,Int ,String) = ("kuwo",25,"wowo")
    明确指定元素的名称:
    var location = (x:10,y:20)
    //location有两个元素:x、y是元素
    元素的访问:读写操作
    方式一:用元素的名称
    location.x = 15
    location.y = 0
    方式二:用元素的位置
    location.0 = 30
    location.1 = 45
     
    元素的输出:
    直接print(“(元组名称)”)
     
    使用细节:
    1)可以省略元素的名称
    let xxxx = (20,"abcd)  //省略名称的元素,可以使用下标来取某个值
     
    let position = (x : 10.5 , y:20)
     
    let pson: () = ()
     
    3)有类型就不能添加元素的名称
    let person :(String ,Int ,String) = ("kuwo",25,"wowo")
     
    4)可以接收用多个变量接收元组的数据
    var (x,y) = (10,20)  //x = 10 y = 20
    var point = (x,y)    //point由2个元素组成,分别是10,20
     
    5)可以将元素分别赋值给多个变量
    var point = (10,20) //point由2个元素组成,分别是10,20
    var (x,y) = point  //x = 10 y = 20
     
    6)可以使用下划线忽略某个元素的值,取出其他元素的值
    var person = (20, "kuwo")
    var (_ , name) = person  //name = "kuwo"
  • 相关阅读:
    smart code
    上传图片格式简单校验和回显
    【Spring框架】<mvc:default-servlet-handler/>的作用
    (转) SpringMVC学习笔记-
    MybatisX idea 快速开发插件
    mybatis-generator数据库注释实体类生成以及generatorConfig文件配置
    mysql类型为varchar double类型字符串求和多出多个小数
    <c:set> 标签
    MySQL Navicat Premium 保存sql语句
    springboot项目对接支付宝支付
  • 原文地址:https://www.cnblogs.com/lignpeng/p/5458295.html
Copyright © 2011-2022 走看看