Kotlinでタイプを指定し変数を宣言し値を割り当てる

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(過負荷解消のあいまいさ)」といった内容です。タイプを指定しないことが原因でこのようなエラー発生することがわかりました。

コメント

タイトルとURLをコピーしました