什么是Swift语法“.bar”?

时间:2017-10-30 20:00:25

标签: swift syntax naming

Swift有这个方便的语法:

enum Foo {
    case bar
    case baz
}


func hoge(foo: Foo) {
}


hoge(foo: .bar) // This

哪个镜像在enum s以外的其他位置:

struct Qux {
    static let `default` = Qux()
}


func hoge(qux: Qux) {
}


hoge(qux: .default) // This

我不确定在对话/门票中叫什么。也许“类型推断点语法”?我不确定。 此语法是否具有正式名称?如果是,那是什么?

2 个答案:

答案 0 :(得分:7)

它被称为隐式成员表达式。来自the grammar section of the language guide

  

隐式成员表达式是访问成员的缩写方式   在上下文中的类型,例如枚举大小写或类型方法   类型推断可以确定隐含类型。它有   以下表格:

     

member name

     

例如:

var x = MyEnumeration.someValue
x = .anotherValue

答案 1 :(得分:0)

来自Apple的Swift book

  

枚举中定义的值(例如北,南,东和西)是其枚举情况。