Groovy是一个“可选”类型的语言,当理解语言的基本原理时,这种区别是一个重要的语言。与Java相比,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);
- }
- }
转载本站内容时,请务必注明来自W3xue,违者必究。