我是Swift语言的新手,试图在编码时养成健康的编程习惯。
最佳做法是在声明中显式声明变量类型吗?例如:
var str:String = "likeThis"
或者这是否可以接受:
var str= "likeThis"
答案 0 :(得分:3)
如您所知,任何一种选择都是可以接受的。但是,我所看到的标准做法是除非必要,否则不要声明变量类型,理由是这些无关的令牌会降低可读性。
这里,它是不必要的,因为编译器将推断变量类型。 Ray Wenderlich's Swift style guide同意。
答案 1 :(得分:0)
您很少需要在实践中编写类型注释。如果在定义的点处为常量或变量提供初始值,则Swift几乎总是可以推断出用于该常量或变量的类型,如Type Safety and Type Inference中所述。
以the same guide为例:
00 A4 04 00 0E 325041592E5359532E4444463031 00 ( adding Le = 0x00 at last)
看起来让编译器使用var currentLoginAttempt = 0
推断类型是非常好的做法。
免责声明:我也是Swift的新手,这个答案完全基于我在课堂上学到的东西和阅读Language Guide。我对Swift没有专业经验。
答案 2 :(得分:-2)
Swift中的变量与常量
var str = "likeThis" // variable
let str = "likeThis" // constant
尽可能使用let
声明最佳实践,因为这将允许编译器执行其他方式无法执行的优化。所以请记住:首选let
!
明确与推断的打字
到目前为止,我们还没有为这些常量和变量显式设置任何类型,因为编译器有足够的信息来自动推断它。
例如,因为您将str
设置为"likeThis"
,编译器知道"likeThis"
是一个String,所以它会自动将str
的类型设置为String
但是,您可以根据需要明确设置类型。通过将设置tutorialTeam的行替换为以下内容来尝试此操作:
let str: String = "likeThis"
您想知道是否应该显式设置类型,或让编译器为您推断类型。我们认为让更好的练习让编译器尽可能自动推断类型,因为这样你就可以获得Swift的一个主要优点:简洁易读的代码。
因此,将行切换回推断的输入:
let str = "likeThis"