当前的样式指南说数组和字典按以下方式初始化。
var names = [String]()
var lookup = [String: Int]()
我想反对这一点,支持:
var names: [String] = []
var lookup: [String: Int] = [:]
这是我的理由:
[Type]()
看起来很陌生,尤其是对于新手。 对我来说, : [Type] = []
在很多情况下读起来更好。var stuff = [1, 2, 3, 4, 5, // ... 100 more numbers
106.7, 107, "haha", nil, 108, 109]
类型检查器需要扫描所有元素以正确键入推断stuff
。 即使没有技巧(“哈哈”),我也看到了这个让编辑陷入困境的情况。 (你好 Rainbow。)让类型检查器为你工作以仔细检查你的工作似乎是个好主意。
var items: [Type] = []
形式。 https://twitter.com/_jackhl/status/646480946619805697你怎么认为?
@rayfix我越来越喜欢你建议的格式,即var names: [String] = []
我的理由是,当您想使用let
常量定义数组时,这种方法看起来更符合您所采用的方法。 (您不会将其初始化为空数组,因为您以后将无法更改它)
例如在一个类的情况下:
class SimpleClass {
let array: [String]
init(array: [String]) {
self.array = array
}
}
或者在定义一个其值取决于条件的常量数组时。
let array: [String]
if condition {
array = array1
} else {
array = array2
}
对此大+1!
我为我的课程选择了var array: [Type] = []
表示法,因为它允许我在课程的早期教授数组(和字典)。 我的教学方法是从头开始,一次只添加一个主题,永远不要让事情无法解释。 这种表示法允许我这样做,因为它不涉及学生目前还不熟悉的任何主题,例如初始化程序或泛型。
爱它。 我在自己的代码库中使用您建议的语法; 等式一侧的 var 的定义和类型,另一侧的 value。 很好很简单。
最有用的评论
@rayfix我越来越喜欢你建议的格式,即
var names: [String] = []
我的理由是,当您想使用
let
常量定义数组时,这种方法看起来更符合您所采用的方法。 (您不会将其初始化为空数组,因为您以后将无法更改它)例如在一个类的情况下:
或者在定义一个其值取决于条件的常量数组时。