美文网首页
Swift-01-类型安全和类型推断

Swift-01-类型安全和类型推断

作者: cornerAnt | 来源:发表于2015-12-01 17:54 被阅读252次
  • Swift 是一个类型安全(type safe)的语言。类型安全的语言可以让你清楚地知道代码要处理的值的类型。如果你的代码需要一个String
    ,你绝对不可能不小心传进去一个Int
  • 由于 Swift 是类型安全的,所以它会在编译你的代码时进行类型检查(type checks),并把不匹配的类型标记为错误。这可以让你在开发的时候尽早发现并修复错误。
  • 当你要处理不同类型的值时,类型检查可以帮你避免错误。然而,这并不是说你每次声明常量和变量的时候都需要显式指定类型。如果你没有显式指定类型,Swift 会使用类型推断(type inference)来选择合适的类型。有了类型推断,编译器可以在编译代码的时候自动推断出表达式的类型。原理很简单,只要检查你赋的值即可。
    因为有类型推断,和 C 或者 Objective-C 比起来 Swift 很少需要声明类型。常量和变量虽然需要明确类型,但是大部分工作并不需要你自己来完成。
  • 当你声明常量或者变量并赋初值的时候类型推断非常有用。当你在声明常量或者变量的时候赋给它们一个字面量(literal value 或 literal)即可触发类型推断。(字面量就是会直接出现在你代码中的值,比如42
    和3.14159
    。)
    例如,如果你给一个新常量赋值42
    并且没有标明类型,Swift 可以推断出常量类型是Int
    ,因为你给它赋的初始值看起来像一个整数:
let meaningOfLife = 42// meaningOfLife 会被推测为 Int 类型

同理,如果你没有给浮点字面量标明类型,Swift 会推断你想要的是Double

let pi = 3.14159// pi 会被推测为 Double 类型
~~~
当推断浮点数的类型时,Swift 总是会选择Double
而不是Float
。
如果表达式中同时出现了整数和浮点数,会被推断为Double
类型:
~~~
let anotherPi = 3 + 0.14159// anotherPi 会被推测为 Double 类型
~~~

原始值3
没有显式声明类型,而表达式中出现了一个浮点字面量,所以表达式会被推断为Double
类型。

相关文章

  • Swift-01-类型安全和类型推断

    Swift 是一个类型安全(type safe)的语言。类型安全的语言可以让你清楚地知道代码要处理的值的类型。如果...

  • 类型安全和类型推断

    Swfit是一门类型安全的语言,类型安全的语言鼓励你清楚的了解编程过程中变量的类型,如果你的代码需要的是一个Str...

  • Swift3.0基础部分(The Basics)(二)

    类型安全和类型推断(Type Safety and Type Inference) Swift是一个类型安全的语言...

  • Swift 4.0

    类型安全和类型推断   Swift 是一个类型安全(type safe)的语言。类型安全的语言可以让你清楚地知道代...

  • Swift新特性

    1,类型安全和类型推断,只区分变量var和常量let。 2,可选类型 使用可选类型(optionals)来处理值可...

  • iOS开发之Swift篇(2)—— 基础部分

    目录 版本 基本语法 数据类型 常量和变量 类型安全/推断/转换 可选类型 版本 Xcode 11.0Swift ...

  • swift 5.1语法 1小时入门

    1. 基本数据类型 1.1 常量和变量 1.2 类型安全和类型推断 let 和 var 定义常量,编译器可以根...

  • 【Swift4.0】类型安全和类型推断

    翻译能力有限,如有不对的地方,还请见谅!希望对Swift的学习者有所帮助,使用的编写工具:JQNote InNot...

  • swift基础

    swift基础部分 常量和变量 注释 分号 整数 浮点数 类型安全和类型推断 数值型字面量 类型别名 布尔值 元组...

  • 类型注解和类型推断

    类型注解(type annotation) 类型注解就是在声明变量的时候 先告诉TS 当前声明的变量是什么类型 例...

网友评论

      本文标题:Swift-01-类型安全和类型推断

      本文链接:https://www.haomeiwen.com/subject/dkijhttx.html