Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

ความแตกต่างระหว่าง const และ val ใน Kotlin คืออะไร?


const คำสำคัญ

ข้อเสีย คำหลักถูกใช้ใน Kotlin เมื่อใดก็ตามที่ค่าตัวแปรยังคงเป็น const ตลอดวงจรชีวิตของแอปพลิเคชัน หมายความว่า const ใช้กับคุณสมบัติที่ไม่เปลี่ยนรูปของคลาสเท่านั้น พูดง่ายๆ ก็คือ ใช้ const เพื่อประกาศคุณสมบัติอ่านอย่างเดียวของคลาส

มีข้อจำกัดบางอย่างที่ใช้กับ const ตัวแปร. ดังต่อไปนี้ −

  • ค่าเสียหาย สามารถใช้ได้กับคุณสมบัติที่ไม่เปลี่ยนรูปของคลาสเท่านั้น

  • ไม่สามารถกำหนดให้กับฟังก์ชันใด ๆ หรือตัวสร้างคลาสใด ๆ ควรกำหนดด้วยประเภทข้อมูลดั้งเดิมหรือสตริง

  • ข้อเสีย ตัวแปรจะถูกเริ่มต้นในเวลาคอมไพล์

ตัวอย่าง

ในตัวอย่างต่อไปนี้ เราจะประกาศ const ตัวแปรและเราจะใช้ตัวแปรเดียวกันในแอปพลิเคชันของเรา

const val sName = "tutorialspoint";
// This line will throw an error as we cannot
// use Const with any function call.
// const val myFun = MyFunc();

fun main() {
   println("Example of Const-Val--->"+sName);
}

ผลลัพธ์

มันจะให้ผลลัพธ์ต่อไปนี้ -

Example of Const-Val--->tutorialspoint

วาลคีย์เวิร์ด

ใน Kotlin วาล ยังใช้สำหรับการประกาศตัวแปร ทั้ง "val" และ "ค่าคงที่" ใช้สำหรับประกาศคุณสมบัติอ่านอย่างเดียวของคลาส ตัวแปรประกาศเป็น const จะเริ่มต้นที่รันไทม์

  • วาล เกี่ยวข้องกับคุณสมบัติที่ไม่เปลี่ยนรูปของคลาส นั่นคือ เฉพาะตัวแปรแบบอ่านอย่างเดียวเท่านั้นที่สามารถประกาศได้โดยใช้ val .

  • วาล เริ่มต้นเมื่อรันไทม์

  • สำหรับ วาล , เนื้อหาสามารถปิดเสียงได้ ในขณะที่สำหรับ const val , เนื้อหาไม่สามารถปิดเสียงได้

ตัวอย่าง

เราจะแก้ไขตัวอย่างก่อนหน้านี้เพื่อส่งผ่านฟังก์ชันโดยใช้ val และเราจะไม่พบข้อผิดพลาดใด ๆ ในขณะรันไทม์

const val sName = "tutorialspoint";

// We can pass function using val
val myfun=MyFunc();

fun main() {
   println("Example of Const-Val--->"+sName);
   println("Example of Val--->"+myfun);
}

fun MyFunc(): String {
   return "Hello Kotlin"
}

ผลลัพธ์

เมื่อคุณรันโค้ด มันจะสร้างผลลัพธ์ต่อไปนี้ -

Example of Const-Val--->tutorialspoint
Example of Val--->Hello Kotlin