编辑代码

fun main(args : Array<String>){
    println("Hello world!     -  kotlin.jsrun.net")
    classTest()
    ClassTest(123).log()

    ClassTest(ClassTest("123")).log()

    ClassTest(null).log()
    //ClassTest(ClassTest()).log()

    //nullTest(1)
    nullTest(null)



    println()
    var b = null//为嘛这里定义变量b为null,不用加?也可以呢?有大佬解释一下吗?
    println(b)
}

fun classTest():String{
    println("this is a test function")
    return ""
}

class  ClassTest <T> (var t:T){
    fun log(){
        println("您输入的参数是:$t")
    }
}

fun <T> nullTest (t:T){
    var r = t?.also{
        if (it == null){
            println("parameter is null")
        }else{
            println("万能打印函数:$t")
        }
        println("nullTest $t")
    }?:null
    println(r)
}