使用return分配变量值

时间:2017-07-27 02:49:44

标签: swift

我偶然发现了一些代码,其中变量声明使用return来分配变量值,如下所示:

var method: HTTPMethod { return .Post}

这条线是否与下面相同?

var method: HTTPMethod = .Post

3 个答案:

答案 0 :(得分:1)

这两行不太相似。

第一行声明没有setter的计算属性。这意味着该值是常量。

第二个声明是一个简单的属性声明,其值初始化为.Post。这意味着稍后可以更改属性。

第一行更类似于以下行而不是第二行:

let method: HTTPMethod = .Post

由于上面也声明了一个常量属性。

那么let常量属性和没有setter的计算属性之间有什么区别并返回一个常量值?主要区别在于,计算属性可以放在扩展中,而let常量则不能。

答案 1 :(得分:1)

两者都不相同

这是唯一的属性

var method: HTTPMethod { return .Post}

和第二个是可变对象,您可以在其中分配不同的对象 值。

var method: HTTPMethod = .Post

答案 2 :(得分:0)

var method: HTTPMethod = .Post

如果您将var更改为let,则后者可能会发生变异,行为与第一个选项相同。