Kotlin 什么';“这是什么意思?”;val变量=";在科特林什么都没有?

Kotlin 什么';“这是什么意思?”;val变量=";在科特林什么都没有?,kotlin,syntax,Kotlin,Syntax,我在赋值后意外地按了enter键,令我惊讶的是它编译得非常好 使用这种语法有什么意义?我试图在网上搜索它,但只找到了关于Nothing类型的文章,但没有找到接近这种令人惊讶的语法的文章 从技术上讲,return123是一个表达式,它不返回任何内容。就像抛出RuntimeException()一样。您可以将此表达式的结果保存在变量中,但我无法想象您可以如何使用它:)能否举例说明您的代码是什么样子的?@AlexeySoshin我认为这与此无关:)在IntelliJ IDEA(可能还有其他IDE)中编

我在赋值后意外地按了enter键,令我惊讶的是它编译得非常好

使用这种语法有什么意义?我试图在网上搜索它,但只找到了关于Nothing类型的文章,但没有找到接近这种令人惊讶的语法的文章


从技术上讲,
return123
是一个表达式,它不返回任何内容。就像
抛出RuntimeException()
一样。您可以将此表达式的结果保存在变量中,但我无法想象您可以如何使用它:)

能否举例说明您的代码是什么样子的?@AlexeySoshin我认为这与此无关:)在IntelliJ IDEA(可能还有其他IDE)中编码时,您可以在任何函数中获得此行为哦,return 123是否可能不返回任何内容?它不应该返回一个
Int
?我知道这很难理解。带有行
return 123
的函数返回
123
,但行
return 123
本身具有类型
Nothing
欢迎!为什么不呢?这是一个正确的变量声明。只是有点没用:)因为它没用,我想xD我已经使用Kotlin三年了,我总是被他们允许进入他们语言的功能选择所震惊。它似乎处于完美的平衡状态。这让我觉得很奇怪。。。顺便说一句,这仍然是一门很好的语言@它遵循规则
val name=expression
throw Exception()
是一个有效的表达式,因此它必须有一个类型:
Nothing
。它是一个有效的表达式,因此必须可分配给变量。作为一种表达,一切都是非常强大的,所以这是一件好事。