Kotlin中打印返回String类型的函数时多余$符号的解决方法
Kotlin代码中多余$符号的解决方法
你遇到的问题是因为在showProfile函数的println语句里,多写了一个转义的\$符号,这个符号会被直接输出到结果里。只需要把这个多余的\$删掉就能解决问题。
修正后的代码如下:
fun main() { val amanda = Person("Amanda", 33, "play tennis", null) val atiqah = Person("Atiqah", 28, "climb", amanda) amanda.showProfile() atiqah.showProfile() } class Person(val name: String, val age: Int, val hobby: String?, val referrer: Person?) { fun showProfile() { fun reference(referrer: Person?): String { return if(referrer!=null) "Has a referrer named ${referrer.name}, who likes to ${referrer.hobby}." else "Doesn't have a referrer.\n" } // 移除了多余的\$符号 println("Name: $name\nAge: $age\nLikes to $hobby. ${reference(referrer)}") } }
修改后运行代码,就能得到你预期的输出:
Name: Amanda Age: 33 Likes to play tennis. Doesn't have a referrer. Name: Atiqah Age: 28 Likes to climb. Has a referrer named Amanda, who likes to play tennis.
内容的提问来源于stack exchange,提问作者Vinay Mhatre
相关产品推荐
相关产品推荐

