Groovy-オプション
Groovyは「オプションで」型指定された言語であり、その区別は言語の基本を理解する上で重要なものです。「強く」型付けされた言語であるJavaと比較すると、コンパイラーはすべての変数のすべての型を認識しており、コンパイル時にコントラクトを理解して尊重することができます。これは、メソッド呼び出しがコンパイル時に決定できることを意味します。
Groovyでコードを作成する場合、開発者は型を提供するかどうかを柔軟に選択できます。これにより、実装がいくらか簡単になり、適切に活用すると、堅牢で動的な方法でアプリケーションにサービスを提供できます。
Groovyでは、オプションの入力は「def」キーワードを介して行われます。以下は、の使用例です。def 方法−
class Example {
static void main(String[] args) {
// Example of an Integer using def
def a = 100;
println(a);
// Example of an float using def
def b = 100.10;
println(b);
// Example of an Double using def
def c = 100.101;
println(c);
// Example of an String using def
def d = "HelloWorld";
println(d);
}
}
上記のプログラムから、これらのタイプの値が含まれていても、個々の変数をInteger、float、double、またはstringとして宣言していないことがわかります。
上記のプログラムを実行すると、次の結果が得られます-
100
100.10
100.101
HelloWorld
オプションのタイピングは、開発中の強力なユーティリティですが、コードが広大で複雑になりすぎると、開発の後の段階で保守性に問題が生じる可能性があります。
コードベースを保守不可能な混乱に陥らせることなく、Groovyでオプションのタイピングを利用する方法を理解するには、アプリケーションに「ダックタイピング」の哲学を取り入れることが最善です。
ダックタイピングを使用して上記のコードを書き直すと、次のようになります。変数名には、コードをより理解しやすくするために、変数が表す型に似ていることが多い名前が付けられています。
class Example {
static void main(String[] args) {
// Example of an Integer using def
def aint = 100;
println(aint);
// Example of an float using def
def bfloat = 100.10;
println(bfloat);
// Example of an Double using def
def cDouble = 100.101;
println(cDouble);
// Example of an String using def
def dString = "HelloWorld";
println(dString);
}
}