zoukankan      html  css  js  c++  java
  • Welcome to Swift (苹果官方Swift文档初译与注解九)---58~62页(第二章)

    Integer Bounds (整型范围)

      你可以使用min和max属性来访问每个整型的最小值和最大值:

        let minValue = UInt8.min  // minValue是0, 类型是 UInt8

        let maxValue = UInt8.max  // maxValue 是 255, 类型是 UInt8

      min和max属性的具体值是与数值类型相关的(比如上面代码中的UInt8).

    Int (Int整型)

      在多数情况下,你在代码里不需要处理整型的字节大小.Swift提供了另一种整型类型,int.它总是与当前平台位数保持一致:

        在32位平台, Int 与 Int32相同.

        在64位平台, Int 与 Int64相同.

      除非在实际工作中要专门指定整型的长度,如果不是,通常推荐在代码中使用int来定义整型值,这有利于代码的统一性和复用性.即使在32位平台下,int类型也可以存          取-2,147,483,648 到 2,147,483,647之间的数值,对许多整数类型来说是够用的范围了.

     UInt (UInt整型)

      Swift也提供了无符号整型,UInt它同样是与平台位数保持相同长度:

        在32位平台, Int 与 Int32相同.

        在64位平台, Int 与 Int64相同.

      注意点

      除非你特别需要指定一个无符号整型,如果不是这样,官方推荐使用Int,即使被存取的数值是非负数.使用Int 整型的一个好处是代码的复用性.避免在不同数字类型进行转换,避免匹配整  型的类型.

    Floating-Point Numbers (浮点数)

      浮点数是包含小数部分的数值,比如“3.14159, 0.1,和 -273.15.

      浮点数可以表示比整型更宽的数值范围,也可以存取比Int类型更大和更小的数值.Swift提供了两种有符号的浮点类型:

      Double 表示一个64位浮点数.在需要处理的数值非常大或者需要非常精确的时候使用. 

      Float 表示一个32位的浮点数.  

      注意点

      Double精确至少15位的十进制数字,而Float处理6位十进制数字.在代码里使用浮点类型要根据你实际工作中需要的数值范围来定.

    Type Safety and Type Inference (类型安全与类型判断)

      Swift是一门类型安全的语言.一种类型安全的语言能够确保你清晰的知道代码里值的类型.如果代码里你希望是一个String类型值,你就不可以错误的传Int类型给它.

      因为Swift是类型安全语言,所有它在编译代码的时候会进行类型检查,一旦发现类型匹配错误就会立刻报错.这帮助你在开发阶段尽早的找到并修正潜在的代码错误.

      代码检测帮助你避免处理不同类型值时犯错误.但这不意味着你必须对每个定义的常量或者变量都指定类型.如果你没有指定值的类型,Swift使用类型判断来确定对应的类型.类型判断  能够帮助编译器在编译代码的时候,根据检测值来自动的减少对应的表达式.

      正是由于类型检查,是Swift比C和OC更少的要求类型声明.常量和变量是需要明确类型声明.指定类型的工作,Swift已经都为你做好了.

      在初始化一个常量或者变量的时候,类型判断会特别有用.初始化是在定义常量或者变量的时候,就给它们指定一个确切的值(就像后面代码样例中的42和3.14159)

      如果你指定一个明确的值42给新的常量,但没有说明常量的类型,Swift会推断你希望常量类型是Int,因为你使用了一个整型的值来进行初始化.

        let meaningOfLife = 42

        // meaningOfLife 是Int类型

      同样的,如果你没有明确指定浮点数据类型,Swift会推断你想创建一个Double类型.

        let pi = 3.14159

        // pi 的类型是 Double

      Swift在推断浮点类型时总是默认选择Double(而不是Float).

    /****************未完待续************************/

     

  • 相关阅读:
    如何使用SAP Intelligent Robotic Process Automation自动操作Excel
    OpenSAML 使用引导 IV: 安全特性
    Spring Cloud Zuul 网关使用与 OAuth2.0 认证授权服务
    微服务架构集大成者—Spring Cloud (转载)
    Spring Cloud Eureka 服务注册列表显示 IP 配置问题
    使用 Notification API 开启浏览器桌面提醒
    SignalR 中使用 MessagePack 序列化提高 WebSocket 通信性能
    配置 Nginx 的目录浏览功能
    关于 Nginx 配置 WebSocket 400 问题
    Migrate from ASP.NET Core 2.0 to 2.1
  • 原文地址:https://www.cnblogs.com/caios/p/3784851.html
Copyright © 2011-2022 走看看