[解決済み] Kotlin - ボイド vs. ユニット vs. ナッシング
2023-02-20 18:57:27
質問
Kotlinには、よく似た3つの型があります。
-
Void
-
Unit
-
Nothing
ほとんどJavaScriptの間違いのような気がします。
-
null
-
undefined
-
void(0)
仮に していない 同じ間違いに陥っていないと仮定して、これらはすべて何のためにあり、どう違うのでしょうか?
どのように解決するのですか?
この
Void
型はJavaからのものです。これを使用するJava-libraryを使用していない限り、Kotlinからこれを使用することは一般的にないでしょう。
は
Unit
型は、関心のあるものを何も返さない関数から返すものです。そのような関数は通常、何らかの副作用を実行しています。ユニット型が取り得る値はただ一つで、それは
は
Unit
オブジェクト
. あなたが使うのは
Unit
を使用する場合、Kotlin では戻り値の型として
void
(小文字のv)を使うところを、Kotlinでは戻り値の型として使っています。
は
Nothing
型は値を持ちません。関数が戻り値の型を持つ場合
Nothing
を持つ場合、それは正常に戻ることができません。例外を投げるか、無限ループに入るしかありません。戻り値の型を持つ関数の呼び出しに続くコードは
Nothing
を持つ関数の呼び出しに続くコードは、Kotlinコンパイラによって到達不能とマークされます。
なぜなら
Nothing
は値を持たないからです。
Nothing?
のみをキャプチャするタイプです。
null
の値のみをキャプチャする型です。
関連
-
[解決済み] Kotlin 三項条件演算子
-
[解決済み] KotlinのソースファイルからJavaのソースファイルへの変換方法
-
[解決済み] by lazy" と "lateinit" を使ったプロパティの初期化
-
[解決済み】KotlinでJavaの静的メソッドに相当するものは何ですか?
-
[解決済み】代数的なデータ型の代数を悪用する - なぜこれが有効なのか?
-
[解決済み】Kotlinのreifiedキーワードはどのように機能するのですか?
-
[解決済み] Kotlinで多くの例外を同時にキャッチするには?
-
[解決済み] Kotlinのゲッターとセッター
-
[解決済み] Kotlin: withContext() vs Async-await
-
[解決済み] Kotlinにおけるスレッドとコルーチンの違い
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Kotlinにコンストラクタ参照はありますか?
-
[解決済み] KotlinでNullチェックを行う最良の方法とは?
-
[解決済み] Safeargsライブラリがディレクションクラスを生成しない
-
[解決済み] Kotlin: withContext() vs Async-await
-
[解決済み] KotlinのIntArrayとArray<Int>の比較
-
[解決済み] KotlinのIterableとSequenceは全く同じに見える。なぜ2つの型が必要なのでしょうか?
-
[解決済み] kotlin.jvm.KotlinReflectionNotSupportedError.KotlinReflectionNotSupportedError.KotlinReflectionNotSupportedError: ランタイムにKotlin Reflectionの実装が見つかりませんでした。kotlin-reflect.jar があることを確認してください。
-
[解決済み] KotlinのコルーチンはRxKotlinよりどう優れているか?
-
[解決済み] Kotlinにおけるスレッドとコルーチンの違い
-
[解決済み] Kotlinの "receiver "って何?