<KotlinLearn/>
ブラウザだけで学習できる

Kotlinを学ぼう

Kotlinの基礎からAndroid開発、オブジェクト指向まで。 ブラウザ上でコードを書きながら学びましょう。

学習ロードマップ

あなたの目標に合わせて学習パスを選ぼう

🟣

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") }
)

準備はできた?

まずはKotlin基礎から始めて、着実にスキルを積み上げていきましょう。

Kotlin基礎から始める

他の言語も学ぼう

同じシリーズの学習アプリで他の言語もマスターしよう