我知道 可选参数是: 方法的定义可以指定其参数是必需的,或者在定义方法时它们是可选的
但是在方法调用中,参数
中的:和=之间有什么区别Display(name="test")
Column(name: "id")
答案 0 :(得分:8)
在第一个示例中,您将字符串@ConfigurationProperties
分配给名为"test"
的调用范围中的变量(无论是局部变量,参数,字段等)然后,由于赋值运算符表达式解析为指定的值,name
将最终作为"test"
的第一个参数传递而不使用命名参数(意味着该片段)如果Display
将其参数重命名为Display
之外的其他内容,则功能相同。请注意,如果范围内没有类型为name
的有效变量,则此代码将无法编译。
第二个方法调用仅将字符串name
作为命名参数传递给"id"
,而不执行任何其他操作。