📜  Groovy-可选

📅  最后修改于: 2020-11-04 06:38:20             🧑  作者: Mango


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或字符串,即使它们包含这些类型的值。

当我们运行上面的程序时,我们将得到以下结果-

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