W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
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); } }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: