ページタイトル通り、Kotlin使いのためのC#入門です。 Kotlinのこの構文はC#ならどう書くの?を解決していこうという感じで書き始めていこうと思っています。
KotlinとC#の決定的な違い
- C言語ファミリーな構文である
- 型の宣言が前置である
- セミコロンが必要
- Top-levelにグローバルなものを宣言できない
- すべての型はobjectを継承している
KotlinになくてC#にあるもの
- 構造体がある
- ポインターがある
- ポインターを安全にした参照(ref)がある
- 参照渡しがある
- デリゲートがある(Kotlinのデリゲートとは違う機能)
- イベントがある
C#になくてKotlinにあるもの
- 拡張プロパティ
- レシーバー付きラムダ
- Delegated Property/Delegation
- インライン関数
- data class
- sealed class(C#のsealedとは違う機能)
- infix operator
以上、思いついた基本的な違いをてきとーにあげました。 以降は、それらを踏まえつつ説明していこうと思います。
機能を説明していくうえでどういう順番で書いていけばわかりやすいか全くわからないので、まずはKotlinのリファレンスの順番に書いていきます。
Overview
- Server Side
- Android
- JavaScript
- Native
- Compare of Kotlin 1.1
- Compare of Kotlin 1.2
Getting Started
- Basic Syntax
- Idioms
- Coding Conventions
Basics
Classes and Objects
- Classes and Inheritance
- Properties and Fields
- Interfaces
- Visibility Modifiers
- Extensions
- Data Classes
- Sealed Classes
- Generics
- Nested Classes
- Enum Classes
- Objects
- Delegation
- Delegated Properties