0Pricing
Kotlin Academy · レッスン

文字列テンプレート:$variableと${expression}

テンプレート構文を使って文字列内に変数や式を埋め込みます

「文字列テンプレート:$variableと${expression}」はCoddyKit上の無料Kotlin Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはKotlin Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Kotlin Academyコースには全4レッスンが含まれています。

文字列テンプレートとは

文字列テンプレートを使うと、単純な変数には$を、完全な式には${...}を使って、値を文字列に直接埋め込めます。

変数の埋め込み

文字列内で変数名の前に$を付けます。Kotlinが実行時にその値へ置き換えます。

fun main() {
    val name = "Ada"
    println("Hello, $name!") // Hello, Ada!
}

複数の変数

必要な数だけ変数を埋め込めます。それぞれの$nameが個別に置き換えられます。

fun main() {
    val first = "Marie"
    val last = "Curie"
    val year = 1903
    println("$first $last won Nobel in $year")
}

${...}を使った式

1つの識別子を超える内容、たとえば算術演算、メソッド呼び出し、プロパティアクセスには、${expression}を使います。

fun main() {
    val a = 10
    val b = 5
    println("Sum: ${a + b}")
    println("Product: ${a * b}")
}

テンプレート内でのメソッド呼び出し

テンプレート内では、関数やプロパティを呼び出せます。値として評価されるものなら何でも使えます。

fun main() {
    val word = "kotlin"
    println("Length: ${word.length}")
    println("Upper: ${word.uppercase()}")
}

条件式

Kotlinのifは式なので、テンプレートに直接埋め込めます。

fun main() {
    val score = 75
    println("Result: ${if (score >= 60) "pass" else "fail"}")
}

ドル記号のエスケープ

文字としての$が必要な場合は、バックスラッシュでエスケープします:\$。

fun main() {
    val price = 19
    println("Cost: \$$price") // Cost: $19
}

入れ子になったテンプレート

${...}の中に文字列テンプレートを入れ子にできます。ただし、深く入れ子にすると文字列が読みにくくなります。

fun main() {
    val items = listOf("apple", "banana")
    println("List: ${items.joinToString { "[$it]" }}")
}

コレクションとテンプレート

テンプレートとコレクション操作を組み合わせると、出力を簡潔にフォーマットできます。

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5)
    println("Sum of ${numbers.size} numbers: ${numbers.sum()}")
}

テンプレートと型変換

適切なtoString()を持つ型なら、ブール値、数値、カスタムクラスなど、どの型でもテンプレート内で使えます。

data class Point(val x: Int, val y: Int)
fun main() {
    val p = Point(3, 4)
    println("Point: $p") // uses Point.toString()
    println("X coord: ${p.x}")
}

パフォーマンスに関する注意

Kotlinコンパイラーは文字列テンプレートをStringBuilderの呼び出しに変換します。これは手動の連結と同様で、通常はパフォーマンスに違いはありません。読みやすさのためにテンプレートを優先してください。

fun main() {
    val n = 42
    val a = "Value is $n"       // template
    val b = "Value is " + n      // concatenation
    println(a == b) // true
}

確認問題

x + 1の結果を正しく埋め込むテンプレート構文はどれですか。

まとめ

単純な識別子には$variableを、それより複雑な内容には${expression}を使います。文字としてのドル記号は\$でエスケープします。テンプレートは効率的なStringBuilderのコードにコンパイルされます。

よくある質問

「文字列テンプレート:$variableと${expression}」レッスンは無料ですか?

はい。「文字列テンプレート:$variableと${expression}」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Kotlin Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Kotlin Academyコースには全4レッスンが含まれています。

「文字列テンプレート:$variableと${expression}」で何を学びますか?

テンプレート構文を使って文字列内に変数や式を埋め込みます ブラウザで直接実行するハンズオンコードでKotlin Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Kotlin Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのKotlin Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「文字列テンプレート:$variableと${expression}」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このKotlin Academyレッスンでコードを書いて実行できますか?

はい。すべてのKotlin Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 文字列の基礎:リテラル、エスケープシーケンス、長さ
  2. 文字列テンプレート:$variableと${expression}
  3. Raw Stringとトリプルクォート
  4. 主要なString関数:trim、split、replace、contains
← Kotlin Academyに戻る