swift – 类型安全和类型推断有什么区别?

swift – 类型安全和类型推断有什么区别?,第1张

概述他们有什么不同?我有点困惑,因为它们似乎是类似的概念. 来自Swift自己的 documentation: 类型安全 Swift是一种类型安全的语言.类型安全语言鼓励您清楚代码可以使用的值的类型.如果您的部分代码需要String,则不能错误地将其传递给Int. var welcomeMessage: StringwelcomeMessage = 22 // this would create a 他们有什么不同?我有点困惑,因为它们似乎是类似的概念. 来自Swift自己的 documentation:

类型安全

Swift是一种类型安全的语言.类型安全语言鼓励您清楚代码可以使用的值的类型.如果您的部分代码需要String,则不能错误地将其传递给Int.

var welcomeMessage: StringwelcomeMessage = 22 // this would create an error because you  //already specifIEd that it's going to be a String

类型推断

如果未指定所需的值类型,Swift将使用类型推断来计算出适当的类型.类型推断使编译器能够在编译代码时自动推断出特定表达式的类型,只需检查您提供的值即可.

var meaningOflife = 42 // meaningOflife is inferred to be of type IntmeaningOflife = 55 // it Works,because 55 is an Int

类型安全&一起输入推理

var meaningOflife = 42 // 'Type inference' happened here,we dIDn't specify that this an Int,the compiler itself found out.meaningOflife = 55 // it Works,because 55 is an IntmeaningOflife = "SomeString" // Because of 'Type Safety' ability you will get an //error message: 'cannot assign value of type 'String' to type 'Int''

专家提示:

代码必须进行的类型推断越少,编译速度就越快.因此,建议避免收集文字.收集的时间越长,其类型推断变得越慢……

不错

let names = ["John","Ali","Jane"," Taika"]

let names : [String] = ["John"," Taika"]

有关更多信息,请参阅John Sundell的this post.查看“收集文字”部分

总结

以上是内存溢出为你收集整理的swift – 类型安全和类型推断有什么区别?全部内容,希望文章能够帮你解决swift – 类型安全和类型推断有什么区别?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1051295.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存