Kotlinは、タイプを指定し変数を宣言し、後から値を割り当てることができますので、これをやってみます。
■環境
Kotlin Playground(https://play.kotlinlang.org/)
Kotlin 1.6.10
■タイプを指定し変数を宣言し後から値を割り当てる
では、早速タイプを指定し変数を宣言し後から値を割り当て、変数内の値を出力するスクリプトを書いていきます。
■コード
fun main() { var name_test : String name_test = "小林" println(name_test) }
今回はvarを用いてname_testという変数を定義してみます。この定義した変数にタイプを指定します。今回のタイプは「String(文字列)」とします。
その後に、name_testという変数内に、日本語の文字列を格納します。
格納後、println()を用いてname_test変数内の情報を出力します。
■実行・検証
スクリプトを書けたので、実行・検証を行います。Kotlin Playground(https://play.kotlinlang.org/)の右上にある「Run」ボタンをクリックします。
クリックすると、タイプを指定し定義した変数内の情報(文字列)が出力されました。
■タイプを指定しない場合はどうなるのか
出力後、今度はタイプを指定せずに変数を定義し、値を格納後変数内の情報を出力するとどうなるのかやってみます。
■コード
fun main() { var name_test name_test = "小林" println(name_test) }
varを用いてname_testという変数を定義します。この時にタイプは指定しません。この状態で実行してみます。
■実行・検証
実行・検証を行うため、Kotlin Playground(https://play.kotlinlang.org/)の右上にある「Run」ボタンをクリックします。
・This variable must either have a type annotation or be initialized ・Overload resolution ambiguity: public inline fun println(message: Any?): Unit defined in kotlin.io public inline fun println(message: Boolean): Unit defined in kotlin.io public inline fun println(message: Byte): Unit defined in kotlin.io public inline fun println(message: Char): Unit defined in kotlin.io public inline fun println(message: CharArray): Unit defined in kotlin.io public inline fun println(message: Double): Unit defined in kotlin.io public inline fun println(message: Float): Unit defined in kotlin.io public inline fun println(message: Int): Unit defined in kotlin.io public inline fun println(message: Long): Unit defined in kotlin.io public inline fun println(message: Short): Unit defined in kotlin.io
クリックすると、上記のエラーが発生しました。「This variable must either have a type annotation or be initialized(この変数は、タイプアノテーションを持つか、初期化される必要があります。)」と「Overload resolution ambiguity(過負荷解消のあいまいさ)」といった内容です。タイプを指定しないことが原因でこのようなエラー発生することがわかりました。
コメント