Groovy-optionals

提供:Dev Guides
移動先:案内検索

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);
   }
}