为什么这段Kotlin代码运行无输出且提示变量未使用?
问题原因
- 仅完成了
printCakeTop函数的定义,没有主动调用该函数。Kotlin中函数只有被调用时才会执行内部逻辑,因此运行后没有任何输出。 main函数开头声明的age、layers变量,以及内部定义的printCakeTop函数都没有被实际使用,因此编辑器会抛出变量未使用的提示,你注释掉的函数调用语句也是代码无输出的原因之一。
修复方案
函数定义完成后主动调用即可,你可以选择将函数定义在main函数外部或内部,两种实现的参考代码如下:
方式1:函数定义在main外部
fun main() { val age = 24 val layers = 5 // printCakeCandles(age) printCakeTop(age) // printCakeBottom(age, layers) } fun printCakeTop(age: Int) { repeat(age + 2) { print("=") } println() }
方式2:函数定义在main内部
fun main() { val age = 24 val layers = 5 // printCakeCandles(age) fun printCakeTop(age: Int) { repeat(age + 2) { print("=") } println() } // 定义完成后调用 printCakeTop(age) // printCakeBottom(age, layers) }
两种方式运行后都会输出26个=符号,符合预期。
内容的提问来源于stack exchange,提问作者FT Salamander
相关产品推荐
相关产品推荐

