Groovy 可選

2022-07-21 11:21 更新

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

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

在Groovy中,可選的鍵入是通過(guò)'def'關(guān)鍵字完成的。下面是一個(gè)使用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); 
   } 
} 

從上面的程序,我們可以看到,我們沒(méi)有聲明單個(gè)變量為Integer,float,double或string,即使它們包含這些類型的值。

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

100 
100.10 
100.101
HelloWorld

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

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

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

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)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)