Groovy 可選

2022-07-21 11:21 更新

Groovy是一個“可選”類型的語言,當(dāng)理解語言的基本原理時,這種區(qū)別是一個重要的語言。與Java相比,Java是一種“強(qiáng)”類型的語言,由此編譯器知道每個變量的所有類型,并且可以在編譯時理解和尊重合同。這意味著方法調(diào)用能夠在編譯時確定。

當(dāng)在Groovy中編寫代碼時,開發(fā)人員可以靈活地提供類型或不是類型。這可以提供一些簡單的實(shí)現(xiàn),并且當(dāng)正確利用時,可以以強(qiáng)大和動態(tài)的方式為您的應(yīng)用程序提供服務(wù)。

在Groovy中,可選的鍵入是通過'def'關(guān)鍵字完成的。下面是一個使用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,即使它們包含這些類型的值。

當(dāng)我們運(yùn)行上面的程序,我們將得到以下結(jié)果 -

100 
100.10 
100.101
HelloWorld

可選的打字在開發(fā)期間可以是一個強(qiáng)大的實(shí)用程序,但是當(dāng)代碼變得太大和復(fù)雜時,可能導(dǎo)致在后期開發(fā)階段的可維護(hù)性問題。

要了解如何使用Groovy中的可選輸入,而不讓代碼庫陷入無法維護(hù)的混亂,最好在應(yīng)用程序中采用“鴨式輸入”的理念。

如果我們使用鴨式重寫上面的代碼,它將看起來像下面給出的。變量名稱的名稱比它們代表的類型更多,這使得代碼更容易理解。

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); 
   } 
}
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號