Nim lang 作废处理与作废处理的区别
考虑到以下两个过程:Nim lang 作废处理与作废处理的区别,nim-lang,Nim Lang,考虑到以下两个过程: proc firstOne(): void = echo "X" proc secondOne(): void = echo "X" discard 它们之间有什么功能上的区别(如果有的话)?如果它们是相同的,如果void type放弃结果,那么放弃的目的是什么?第二个过程中的放弃是多余的。没有参数的discard只是一个no-op。它通常用于语言语法需要语句但不想执行任何操作的地方(如Python中的pass)。例如,一个空过程: proc d
proc firstOne(): void =
echo "X"
proc secondOne(): void =
echo "X"
discard
它们之间有什么功能上的区别(如果有的话)?如果它们是相同的,如果void type放弃结果,那么放弃的目的是什么?第二个过程中的
放弃是多余的。没有参数的discard
只是一个no-op。它通常用于语言语法需要语句但不想执行任何操作的地方(如Python中的pass
)。例如,一个空过程:
proc doNothing() =
discard
您仍然可以添加discard
,即使在语法上不需要它的地方,因为作为no-op,它什么都不做
这不同于带有参数的放弃
,该参数的目的是调用函数的副作用并忽略结果