Groovy - ตัวเลือก

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 หรือ 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); 
   } 
}