Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

มาดูความสนุกของภาษา Kotlin

$
0
0

เมื่อวานเจอ code ที่น่าสนใจใน Slack ของ Kotlinlang แต่สิ่งที่สำคัญและน่าสนใจกว่าคือ ความสามารถใน code ของภาษา Kotlin นั่นเอง มันมีหลายสิ่งที่ควรค่าต่อการหยุดดูและศึกษา ดังนั้นมาลองดู code กันขำๆ กันหน่อย [gist id="b414a4f8430ad0d014c05ec74ef37f46" file="tip.kt"] ที่สำคัญ code ชุดนี้ทำงานได้ด้วยนะ ซึ่งสามารถทดสอบ run ด้วยคำสั่ง [code] $kotlinc tip.kt -include-runtime -d tip.jar $java -jar tip.jar [/code] ได้ผลคือ โยน exception ออกมาดังนี้ [code] Exception in thread "main" ┻━┻ at ┻━┻.<clinit>(tip.kt:1) at TipKt.main(tip.kt:11) [/code]

เริ่มจากชื่อ class และ object อันนี้ปกติ

แต่การตั้งชื่อแบบนี้ก็เล่นเอาฮาน้ำตาเล็ด แต่ในการทำงานจริง ๆ คงไม่มีใครอยากเจอหรอกนะ !!

ต่อมาคือเรื่องของ object declaration

จะเห็นว่ามีการใช้ keyword ชื่อว่า object เป็นการใช้งานตาม Singleton pattern นั่นเอง จะเรียกว่าเป็น static class ก็ว่าได้ ซึ่งมี instance เดียวเท่านั้น

อีก keyword คือ companion object

ทำการประกาศ object declaration ใน class ด้วย keyword ชื่อว่า companion โดยที่ class หลักสามารถเรียกใช้ method ใน object ได้โดยตรง

จาก code ตัวอย่างนั้นมีการใช้ infix notation ด้วย

ทำให้เราสามารถเรียกใช้งาน method แบบสวย ๆ ได้ แน่นอนว่าทำให้ code อ่านง่ายและเข้าใจได้ง่าย เนื่องจากมันอธิบายตัวมันเอง ที่สำคัญเป็น pure function ดังนั้นจึงไม่มี side effect ใด ๆ เลย ยกตัวอย่างเช่น [gist id="b414a4f8430ad0d014c05ec74ef37f46" file="my_infix.kt"]

อีกอย่างคือ Nothing

เป็น class ชนิดหนึ่งที่ไม่มี instance ในกรณีนี้ใส่เป็น return Type ของmethod/function หมายความว่า method/function ไม่มีทางที่จะ return อะไรออกมา ยกเว้นโยน exception ออกไปเท่านั้น
จะเห็นได้ว่า code ในภาษา Kotlin สั้น ๆ เพียงเท่านี้ กลับมารายละเอียดที่เยอะเอาเรื่องเหมือนกันนะ วันนี้เราศึกษาภาษา Kotlin กันหรือยัง ?
ขอให้สนุกกับการ coding ครับ

Viewing all articles
Browse latest Browse all 1997

Trending Articles