kotlin函数中如何获得局部变量的名字的字符串
比如函数
fun test(){
var a=null
println("a")
}
//打印出 a
以上是正常的函数,以下是我想要的函数(显然,该函数会报错)
fun test(){
var a=null
println(a.localVariableName)
}
//想要它成功运行并打印出a
大致思想是,想要得到一个编译器帮助,可以默认给每个局部变量添加一个字段localVariableName,该字段的数值 是程序员的局部变量的名字
有点类似于C语音中的特殊变量 __line (该变量在文件中的行号)
- 有一些编译器框架,但是需要显式地给每个变量添加注解
- 可以使用反射机制,但那样是在程序运行时,动态运行的,我更需要在编译时期就完成
参考:Reddit - Print name and value of a variable
向虚拟机传递参数,不然会抛运行时错误:
运行结果: