我在Spring Boot应用程序中使用Kotlin
。特别是在服务中,我发现某些功能需要禁止从存储库中返回值。例如,下面是一个save()
,它保存实体而不返回持久化的实体ID:
fun save(person: Person) {
personRepository.save(person)
}
如您所见,该函数只是将调用委派给JpaRepository#save(...)
,并且不返回任何内容。我想做的是这样的:
fun save(person: Person) = personRepository.save(person)
为此,我创建了一个扩展功能:
fun Any.ignoreReturn() = Unit
,然后以以下方式调用`personRepository#save(...):
fun save(person: Person) = personRepository.save(person).ignoreReturn()
我想知道的是:
Any
的扩展功能是否有副作用? 答案 0 :(得分:1)
一种方法可能是这样:
onFormSubmit
重要的部分是声明要返回Unit的函数,因此从end1 = "C"
end2 = "h"
end3 = "e"
end4 = "e"
end5 = "s"
end6 = "e"
end7 = "B"
end8 = "u"
end9 = "r"
end10 = "g"
end11 = "e"
end12 = "r"
burger = end1 + end2 + end3 + end4 + end5 + end6 + end7 + end8 + end9 + end10 + end11 + end12
print(burger)
生成的代码将不需要返回if ($date instanceof DateTimeInterface) {
$instance = static::instance($date);
$instance::setLastErrors($lastErrors);
return $instance;
}
if (static::isStrictModeEnabled()) {
throw new InvalidArgumentException(implode(PHP_EOL, $lastErrors['errors']));
}
return false;
}
返回的内容。您可以对其进行测试,只需删除fun save(person: Person): Unit = let { personRepository.save(person) }
部分,您的保存功能就会获得不同的签名。