kotlin printlnにkotlin.Unitが表示される

kotlin printlnにkotlin.Unitが表示される

kotlinで、printlnにkotlin.Unitが表示される対処法を記述してます。

環境

  • OS windows11 home
  • java 19.0.1
  • kotlin 1.7.20-release-201

ソースコード

以下のコードで発生。

fun main() {

    println( foo("aaa") )
    println( foo("abcde", "あいうえお", "12345") )

}

fun foo(vararg s: String) {

    s.forEach {
        println(it.length)
    }
    
}

実行結果

原因

ただ、関数内でも「println」して、実行元でも「println」してるだけ

修正

以下のコードに修正する

fun main() {

   foo("aaa")
   foo("abcde", "あいうえお", "12345")

}

fun foo(vararg s: String) {

    s.forEach {
        println(it.length)
    }
    
}

実行結果