学習ロードマップ
あなたの目標に合わせて学習パスを選ぼう
🟣
Kotlin基礎
プログラミングの基礎を学ぶ
val/var、データ型、制御構文、関数、コレクション、Null安全など、Kotlinプログラミングの基礎をしっかりと身につけましょう。
学べること
- val / var
- データ型と型推論
- when式
- 文字列テンプレート
- Null安全
- コレクション
コード例
// Kotlinの基本
val name = "太郎" // 再代入不可
var age = 25 // 再代入可能
// 文字列テンプレート
println("${name}さん(${age}歳)")
// data class
data class User(val name: String, val age: Int)
val user = User("花子", 30)
println(user) // User(name=花子, age=30)
// when式
val grade = when {
age >= 18 -> "成人"
age >= 13 -> "中高生"
else -> "子ども"
}
println(grade)⚡
実践Kotlin
コルーチンとコレクションを使いこなす
コルーチン、Flow、コレクション操作、拡張関数、スコープ関数など実践的なKotlinスキルを学びましょう。
学べること
- コルーチン
- Flow
- 拡張関数
- スコープ関数
- コレクション操作
- 高階関数
コード例
// コルーチンとコレクション
import kotlinx.coroutines.*
// 拡張関数
fun String.shout() = uppercase() + "!!!"
// コレクション高階関数
val nums = listOf(1, 2, 3, 4, 5)
val result = nums
.filter { it % 2 == 0 }
.map { it * it }
println(result) // [4, 16]
// コルーチン
suspend fun fetchData(): String {
delay(1000) // 非同期待機
return "データ取得完了"
}🚀
応用スキル
モダンKotlinを使いこなす
sealed class、DSL、ジェネリクス、デザインパターン、Kotlin Multiplatformなど高度なKotlinスキルを学びましょう。
学べること
- sealed class
- ジェネリクス
- DSLパターン
- 演算子オーバーロード
- 委譲
- KMP
コード例
// sealed class + DSL パターン
sealed class Result<out T> {
data class Success<T>(val data: T) : Result<T>()
data class Error(val msg: String) : Result<Nothing>()
}
fun <T> Result<T>.handle(
onSuccess: (T) -> Unit,
onError: (String) -> Unit
) = when (this) {
is Result.Success -> onSuccess(data)
is Result.Error -> onError(msg)
}
val r: Result<Int> = Result.Success(42)
r.handle(
onSuccess = { println("成功: $it") },
onError = { println("失敗: $it") }
)