Vin*_*ren 9 programming-languages keyword swift
在Swift中,有时候,关键字是普通关键字,而其他一些关键字则以@.
例如,weak,unowned,inout,class是平原.但是@final,@lazy从开始@.
有时,我们甚至都有!prefix并且@prefix,infix和@infix例如.
它不完全是Objective-C继承,因为我们有@class而不是classObjective-C.我能理解为什么我们有class而不是@class在斯威夫特,但是既然我们有@final或者@lazy,我会认为应该@weak而不是weak.
为什么选择这个?是否有一种直观的方式应该告诉:"嘿,这个关键字的开头是合乎逻辑的@?
即使我认为考虑到预处理器的观点,@在编译之前调用一种特定的预处理器并不明显(例如,@final它实际上不是一种预处理器指令).
@Swift中的前缀项不是关键字,这些是属性.
苹果公司关于Swift的书说
属性提供有关声明或类型的更多信息.Swift中有两种属性,即适用于声明的属性和适用于类型的属性.
某些属性(例如@objc(isEnabled))接受参数.
属性和关键字之间的主要区别在于关键字告诉编译器您定义了什么(类,方法,属性,变量等),而属性告诉编译器您打算使用该定义的上下文.例如,您将使用func关键字告诉编译器您正在定义函数,并使用@infix属性修饰该函数以告诉编译器您计划将该函数用作中缀运算符.
| 归档时间: |
|
| 查看次数: |
928 次 |
| 最近记录: |