swift中有啥更好:一个函数返回一个变量或只是一个getter变量[重复]
Posted
技术标签:
【中文标题】swift中有啥更好:一个函数返回一个变量或只是一个getter变量[重复]【英文标题】:Whats is better in swift: a function returning a variable or just a getter variable [duplicate]swift中有什么更好:一个函数返回一个变量或只是一个getter变量[重复] 【发布时间】:2016-10-23 07:15:55 【问题描述】:我可以快速创建一个方法 -
#1
func baseURL() -> String
#if DEBUG
return "https://debug.myserver.url.com"
#else
return "https://production.myserver.url.com"
#endif
我也可以这样写——
#2
var baseURL:String
#if DEBUG
return "https://debug.myserver.url.com"
#else
return "https://production.myserver.url.com"
#endif
这两种方法都满足声明 get only 属性的要求。我个人认为第二种方法的可读性更好。
我知道差别不大,但我还是想知道哪个更好?任何一种方法都比另一种有优势吗?
【问题讨论】:
“我个人觉得第二种方法的可读性更好” 然后第二种更好。 通常我更喜欢计算属性,因为你可以在没有()
的情况下调用它们。但是恕我直言,经验法则似乎是:当您不必创建复杂对象时使用计算属性。
【参考方案1】:
这两种方法比另一种有什么优势吗?
不是内部的,不。计算属性是一个函数,所以在实现上没有区别。
【讨论】:
我同意马特的观点。我在做几乎不需要工作的事情时使用 vars(检查变量的状态以查看应该使用哪个值),但如果你正在工作,我建议改为创建一个 func。【参考方案2】:如果您只是通过最少的计算获得一个值,例如您的示例,那么 getter 是一个不错的选择。
如果获取值可以进行一些繁重的计算或修改类中的任何成员,那么最好使用函数。
【讨论】:
以上是关于swift中有啥更好:一个函数返回一个变量或只是一个getter变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章