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

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


ใน Kotlin เราสามารถประกาศตัวแปรโดยใช้คำสำคัญสองคำ:คำแรกคือ var และอีกอันคือ วาล . ในบทความนี้ เราจะยกตัวอย่างและสาธิตว่าคำประกาศเหล่านี้แตกต่างกันอย่างไร

แอตทริบิวต์ วาร์ ค่า
ประกาศ var varName="hello World" val sName ="tutorialspoint.com"
ไม่เปลี่ยนรูป เปลี่ยนแปลงได้ เปลี่ยนไม่ได้
ไม่ จำนวนครั้งที่สามารถกำหนดตัวแปรได้ กำหนดได้หลายครั้ง ไม่สามารถกำหนดได้หลายครั้ง
มอบหมายใหม่ สามารถกำหนดใหม่ได้ ไม่สามารถกำหนดใหม่ได้

ตัวอย่าง

ในตัวอย่างต่อไปนี้ เราจะมาดูกันว่าเราประกาศตัวแปร 2 ตัวโดยใช้ "val" . ได้อย่างไร และ "var" . เราจะเห็นว่าตัวแปรที่ประกาศโดยใช้ 'var' สามารถเปลี่ยนแปลงได้ ในขณะที่ตัวแปรที่ประกาศโดยใช้ 'val' ไม่สามารถกำหนดใหม่ได้ เนื่องจากจะเกิดข้อผิดพลาดขณะใช้งานจริงโดยมีข้อความแสดงข้อผิดพลาด "Val ไม่สามารถกำหนดใหม่ได้"

val sName = "tutorialspoint";
var varName = "hello World"

fun main() {
   println("Example of val--->"+sName);
   println("Example of Var--->"+varName);

   // Variable declared by var is mutable
   varName = "new value";
   println("New value of the variable declared using Var: " +varName);
}

ผลลัพธ์

มันจะสร้างผลลัพธ์ต่อไปนี้ -

Example of val--->tutorialspoint
Example of Var--->hello World
New value of the variable declared using Var: new value

ตัวอย่าง

ตอนนี้ เรามาลองเปลี่ยนค่าของตัวแปรที่ประกาศโดยใช้ val

val sName = "tutorialspoint";
var varName = "hello World"

fun main() {
   println("Example of val--->"+sName);
   println("Example of Var--->"+varName);

   // Variable declared by val is not mutable
   sName = "new value";
   println("New value of the variable declared using Var: " +sName);
}

ผลลัพธ์

มันจะส่งข้อผิดพลาดที่รันไทม์ -

main.kt:9:5: error: val cannot be reassigned
sName = "new value";
^