1

在 swift 编程语言中,常量可以像这样用 let 关键字表示

let MyConstant = 100

并使用如下类型名称隐式定义

let MyConstant: Int = 100

使用第二种方法有什么好处?

4

1 回答 1

3

编译器推断类型以节省您(开发人员)的时间。为什么要在值很明显时指定它?假设它是显而易见的。我很快就会谈到这一点。

所以,如果你愿意,你能做到,那有什么意义呢?(没有双关语

也许为了清楚起见;您希望绝对清楚变量的类型是Int. 另一个目的是——在某些情况下,例如浮点类型——编译器推断的默认值可能不是你想要的。例如:

let MyConstant = 100.0

双倍还是浮动?它假定 Double。如果你想要浮动,你必须明确:

let MyConstant: Float = 100.0

请参阅Swift 编程语言:类型

在 Swift 中,类型信息也可以反向流动——从根向下到叶。例如,在下面的示例中,常量 eFloat 上的显式类型注释 (: Float) 导致数字文字 2.71828 具有 Float 类型而不是 Double 类型。

    let e = 2.71828 // The type of e is inferred to be Double.
    let eFloat: Float = 2.71828 // The type of eFloat is Float.

Swift 中的类型推断在单个表达式或语句的级别上运行。这意味着推断表达式中省略的类型或类型的一部分所需的所有信息必须可以通过对表达式或其子表达式之一进行类型检查来访问。

于 2014-06-06T15:15:32.697 回答