Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift或其他语言的Optionals术语大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

在 Swift中,我们操作的元素都有类型. 当我们使用这些类型时,我们可以添加’!’,’?’或者没有表达他们的可空性. >我怎么称呼’?’要么 ‘!’用来表达这个特质? 一个类型的装饰者?装饰师?接线员?别的什么? >在使用此角色时,我应该将所谓的类型称为什么? 这是一种新型吗?它是装饰类型吗?一种类型的变化? swift编译器似乎将它们视为新类型,但我的问题不是实现或语言相关,因此我将其标记为语
Swift中,我们操作的元素都有类型.

当我们使用这些类型时,我们可以添加’!’,’?’或者没有表达他们的可空性.

>我怎么称呼’?’要么 ‘!’用来表达这个特质?

一个类型的装饰者?装饰师?接线员?别的什么?

>在使用此角色时,我应该将所谓的类型称为什么?

这是一种新型吗?它是装饰类型吗?一种类型的变化?

swift编译器似乎将它们视为新类型,但我的问题不是实现或语言相关,因此我将其标记为语言不可知.

编辑:我正在寻找一个与语言无关的名字.我理解pranjalsatija的评论选项被定义为复合类型.
但是,这是一个语言实现细节.
我可以将我的问题改为:

当使用类型定义时,您将具有特殊含义的字符称为什么,以及如何调用派生类型.

这个术语应该适用于ruby中的资本套管常数,因为概念是相似的.

解决方法

?在类型的末尾不是装饰者或运算符.它是Swift中硬编码的语法糖,允许你缩短Optional< Thing>到了什么?

的?没有真正的名字(至少我从来没有听说过Swift团队中的任何人使用过一个),在语言参中它只被描述为“后缀?”.语言语法不会将其置于语法范畴中.

类似地,[Thing]是Array< Thing>的简写,但在此上下文中没有方括号的名称.

描述选项< Int>因为“衍生自”Int将滥用术语“派生”.如果您想将其描述为“可选专用于Int”,则可以.

实际上,您可能正在寻找与Swift允许您构建类型(如Optional< T>或Array< T>)的语言无关的术语,这些类型适用于任何类型的T,而不必关心T实际上是什么.在这种情况下,该术语可能是@L_301_1@.

!有点不同.当应用于Thing!中的类型名称时,它是ImplicitlyUnwrappedoptional< Thing>的简写,与?的方式相同.

!当应用于Thing类型的变量时?等价于测试可选项的后缀运算符,如果它是nil,则终止程序,如下所示:

postfix operator !<T>(value: T?) -> T {
    if let unwrapped = value {
        return unwrapped
    }
    else {
       fatalError("unexpectedly found nil while unwrapping an Optional value")
    }
}

所以在这种情况下,!可以描述为操作符.但不是在第一个背景下.

对于给定语言用于描述选项的术语,请参阅Option type维基百科页面.

大佬总结

以上是大佬教程为你收集整理的Swift或其他语言的Optionals术语全部内容,希望文章能够帮你解决Swift或其他语言的Optionals术语所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。