在http://haxe.org/manual/types-function-default-values.html的Haxe 3手册中,我们有static function test(?i = 12, s = "bar")
。
为什么不是static function test(?i = 12, ?s = "bar")
或static function test(i = 12, s = "bar")
?
答案 0 :(得分:2)
实际上,?i=1
和i=1
之间存在细微差别:
function test(?i=1):String
的类型为Null<Int> -> String
function test(i=1):String
的类型为Int -> String
虽然?i
表示可选参数 - 而且始终隐含可空性 - i=1
表示默认值,但不需要Null<T>
框。