方法调用中的“=”与“:”的参数有何区别?

3
我知道可选参数是指在定义方法时可以指定其参数是必需的还是可选的,但在方法调用中,参数中的 : 和 = 有什么区别呢?
Display(name="test") 
Column(name: "id")
1个回答

8
在第一个示例中,您正在为调用作用域中命名为name的变量(无论是局部变量、参数、字段等)分配字符串"test",然后,由于赋值运算符表达式解析为分配的值,"test"将作为Display的第一个参数传递,不使用命名参数(这意味着如果Display重命名其参数为其他名称,则片段将完全相同)。请注意,如果没有有效类型为name的变量在范围内,此代码将无法编译。
第二个方法调用仅将字符串"id"作为命名参数传递给Column,而不执行任何其他操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接