文字列テンプレート:$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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 文字列の基礎:リテラル、エスケープシーケンス、長さ
- 文字列テンプレート:$variableと${expression}
- Raw Stringとトリプルクォート
- 主要なString関数:trim、split、replace、contains