কোটলিনে ভাল এবং ভার


289

কোটলিনে varএবং এর valমধ্যে পার্থক্য কী ?

আমি এই লিঙ্কটি দিয়ে গেছি:

https://kotlinlang.org/docs/reference/properties.html

এই লিঙ্কে বলা হয়েছে:

কেবলমাত্র পঠনযোগ্য সম্পত্তি ঘোষণার সম্পূর্ণ বাক্য গঠনটি দুটি উপায়ে পরিবর্তনযোগ্য থেকে পৃথক হয়: এটি ভের পরিবর্তে ভাল দিয়ে শুরু হয় এবং সেটারের অনুমতি দেয় না।

একটি সেটার ব্যবহার করে তবে এর আগে একটি উদাহরণ রয়েছে।

fun copyAddress(address: Address): Address {
    val result = Address() // there's no 'new' keyword in Kotlin
    result.name = address.name // accessors are called
    result.street = address.street
    // ...
    return result
}

varএবং এর মধ্যে সঠিক পার্থক্য কী val?

আমাদের দু'জনের দরকার কেন?

এই সদৃশ নয় এর Kotlin মধ্যে ভেরিয়েবল, জাভা সঙ্গে পার্থক্য। ভাল বনাম ভাল? আমি ডকুমেন্টেশনের বিশেষ উদাহরণের সাথে সম্পর্কিত সন্দেহ সম্পর্কে জিজ্ঞাসা করছি এবং কেবল সাধারণভাবে নয়।


4
resultএর ভিন্ন উদাহরণ হিসাবে উল্লেখ করে পরিবর্তন করা যায় না Address, তবে এটি যে উদাহরণটি উল্লেখ করে তা এখনও পরিবর্তন করা যেতে পারে। জাভাতেও একই রকম হতে পারে যদি আপনার একটি থাকেfinal Address result = new Address();
মাইকেল


উত্তরের জন্য এখানে এসেছিল কারণ কোটলিন ওয়েবসাইটটি প্রথমে ভেরিয়েবলগুলি বর্ণনা করে সেখানে এটি উল্লেখ করার মতো মূক ছিল: কোটল্ল্যাং.আর।
ডকস

উত্তর:


239

আপনার কোডে resultপরিবর্তন হচ্ছে না, এর varবৈশিষ্ট্যগুলি পরিবর্তন হচ্ছে। নীচের মন্তব্যগুলি দেখুন:

fun copyAddress(address: Address): Address {
    val result = Address() // result is read only
    result.name = address.name // but not their properties.
    result.street = address.street
    // ...
    return result
}

valfinalজাভা পরিবর্তক হিসাবে একই । আপনার সম্ভবত জানা উচিত যে আমরা finalআবার কোনও ভেরিয়েবলের জন্য বরাদ্দ করতে পারি না তবে এর বৈশিষ্ট্যগুলি পরিবর্তন করতে পারি।


1
ফাংশন এবং ক্লাসে বা প্রাথমিক নির্মাত্রে ভাল এবং ভেরের আলাদা অর্থ আছে?

3
@ কিছুই না, সর্বত্র এটির মত।
chandil03

কিন্তু যখন আমি ক্লাসে ভেরিয়েবলের সাথে ভ্যারিয়েবল ঘোষণা করি তখন এটি প্রারম্ভিক হওয়া প্রয়োজন কারণ এটি সম্পত্তি ঘোষণা করে। তবে ফাংশনে এটি আরম্ভের প্রয়োজন হয় না কেন?

কারণ যখন ক্লাস মেমোরিতে লোড হয় তখন এর বৈশিষ্ট্যগুলিও মূল্যায়ণ হয়। ফাংশন কোড কার্যকর করা হয় তবে ফাংশন ভেরিয়েবল মূল্যায়ন করা হয়।
chandil03

ফাংশনের ভিতরে বা ক্লাসের ভিতরে এর মূল অর্থ কীওয়ার্ড valএবং varবৈশিষ্ট্যগুলি ঘোষণার জন্য ব্যবহৃত হয়? পরিবর্তনশীল না?

142

valএবং varউভয় একটি ভেরিয়েবল ঘোষণা করতে ব্যবহৃত হয়।

var সাধারণ পরিবর্তনশীলের মতো এবং এটি কোটলিনে একটি পরিবর্তনীয় ভেরিয়েবল হিসাবে পরিচিত এবং একাধিকবার নির্ধারিত হতে পারে।

Val মত হল ফাইনাল পরিবর্তনশীল এবং এটি অপরিবর্তনীয়, একে বলা হয় kotlin এবং শুধুমাত্র একক সময় সক্রিয়া করা যেতে পারে।

কি valএবং আরও তথ্যের জন্য varনীচের লিঙ্কটি দেখুন

http://blog.danlew.net/2017/05/30/mutable-vals-in-kotlin/


23

ভেরিয়েবলের সাথে সংজ্ঞাযুক্ত ভেরিয়েবলগুলি পরিবর্তনযোগ্য (পড়ুন এবং লিখুন)

ভেলের সাথে সংজ্ঞায়িত পরিবর্তনগুলি অপরিবর্তনীয় (কেবল পঠনযোগ্য)

কোটলিন অ্যানড্রইড স্টুডিওতে ফাইন্ড ভিউআইআইডি সরিয়ে এবং সেটঅনক্লিকলিস্টনার জন্য কোড হ্রাস করতে পারে। পূর্ণ রেফারেন্সের জন্য: কোটলিন দুর্দান্ত বৈশিষ্ট্য

পরিবর্তনীয় ভেরিয়েবলের মান যে কোনও সময় পরিবর্তন করা যেতে পারে, তবে আপনি পরিবর্তনযোগ্য ভেরিয়েবলের মান পরিবর্তন করতে পারবেন না।

আমি কোথায় var এবং কোথায় ভাল ব্যবহার করা উচিত?

ভ্যার ব্যবহার করুন যেখানে ঘন ঘন মান পরিবর্তন হচ্ছে। উদাহরণস্বরূপ অ্যান্ড্রয়েড ডিভাইসের অবস্থান পাওয়ার সময়

var integerVariable : Int? = null

পুরো ক্লাসে মানের কোনও পরিবর্তন নেই এমন ভ্যাল ব্যবহার করুন। উদাহরণস্বরূপ আপনি প্রোগ্রামযুক্তভাবে টেক্সটভিউ বা বোতামের পাঠ্য সেট করতে চান।

val stringVariables : String = "Button's Constant or final Text"

17
"কোটলিন অ্যানড্রইড স্টুডিওতে সেটউইনক্লিকলিস্টনার জন্য কোড সন্ধান এবং কোড হ্রাস করতে পারে full সম্পূর্ণ রেফারেন্সের জন্য: কোটলিন দুর্দান্ত বৈশিষ্ট্যগুলি" এই প্রশ্নটি কীভাবে প্রাসঙ্গিক?
denvercoder9

4
ভাল ভেরিয়েবলগুলি অপরিবর্তনীয় নয়। এগুলি চূড়ান্ত - কেবলমাত্র রেফারেন্স অপরিবর্তনীয় - তবে যদি ভালে সঞ্চিত বস্তুটি পরিবর্তনযোগ্য হয় তবে ভল বা ভারের মাধ্যমে নির্ধারিত কিনা তা নির্বিশেষে বস্তুটি পরিবর্তনযোগ্য।
ট্র্যাভিস

আমি দুটি নতুন কিওয়ার্ড প্রবর্তনের বিন্দু দেখতে না যখন এটি জাভা অনেক ভালো কাজ করা যেতে পারে এটা ঠিক যে পূর্বে
রুবেন

18

valচূড়ান্ত পরিবর্তনশীল ঘোষণা করতে ব্যবহার করুন। valভেরিয়েবলের বৈশিষ্ট্য

  1. শুরু করতে হবে
  2. মান পরিবর্তন করা বা পুনরায় সাইন করা যায় না এখানে চিত্র বর্ণনা লিখুন

var একটি সাধারণ পরিবর্তনশীল হিসাবে হয়

  1. আমরা পরে lateinitসংশোধক ব্যবহার করে আরম্ভ করতে পারি

    [ lateinitএছাড়াও গ্লোবাল ভেরিয়েবলের জন্য ব্যবহার করুন আমরা স্থানীয় ভেরিয়েবলের জন্য এটি ব্যবহার করতে পারি না]

  2. মান পরিবর্তন বা পুনঃসাইন করা যেতে পারে তবে বিশ্বব্যাপী সুযোগে নয়

এখানে চিত্র বর্ণনা লিখুন

val ভিতরে kotlinfinal কিওয়ার্ড মত হয় java


12

সহজভাবে, ভার (পরিবর্তনীয়) এবং ভাল (জাভা (চূড়ান্ত সংশোধক) এর মতো অপরিবর্তনীয় মান)

var x:Int=3
x *= x

//gives compilation error (val cannot be re-assigned)
val y: Int = 6
y*=y



11
+----------------+-----------------------------+---------------------------+
|                |             val             |            var            |
+----------------+-----------------------------+---------------------------+
| Reference type | Immutable(once initialized  | Mutable(can able to change|
|                | can't be reassigned)        | value)                    |
+----------------+-----------------------------+---------------------------+
| Example        | val n = 20                  | var n = 20                |
+----------------+-----------------------------+---------------------------+
| In Java        | final int n = 20;           | int n = 20;               |
+----------------+-----------------------------+---------------------------+

উল্লেখ


8

আপনি এটিকে সহজেই এটি ভাবতে পারেন:

var সেটারের জন্য ব্যবহৃত হয় (মান পরিবর্তন হবে)।

val প্রাপ্তির জন্য ব্যবহৃত হয় (কেবল পঠনযোগ্য, মান পরিবর্তন হবে না)।


8

আমরা যদি ব্যবহার করে ভেরিয়েবল ঘোষণা করি valতবে তা কেবল পঠনযোগ্য ভেরিয়েবল হবে। আমরা এর মান পরিবর্তন করতে পারি না। এটি জাভা চূড়ান্ত পরিবর্তনশীল মত । এটা ।immutable

তবে আমরা যদি ভেরিয়েবলটি ব্যবহার করে ঘোষণা করি varতবে এটি একটি পরিবর্তনশীল যা আমরা পড়তে বা লিখতে পারি । আমরা এর মান পরিবর্তন করতে পারি। এটা mutable

data class Name(val firstName: String, var lastName: String)

fun printName(name: Name): Name {
    val myName = Name("Avijit", "Karmakar") // myName variable is read only
    // firstName variable is read-only. 
    //You will get a compile time error. Val cannot be reassigned.
    myName.firstName = myName.firstName
    // lastName variable can be read and write as it's a var.
    myName.lastName = myName.lastName
    return myName
}

valমূলশব্দ দ্বারা ইদানীং আরম্ভ করা যায় না lateinitতবে অ-আদিম varকীওয়ার্ড দ্বারা ইদানীং আরম্ভ করা যেতে পারে lateinit


ফাংশন এবং ক্লাসে বা প্রাথমিক নির্মাত্রে ভাল এবং ভেরের আলাদা অর্থ আছে?

8

মূলত

  • var= পরিবর্তনশীল , যাতে এটি পরিবর্তন করতে পারে
  • val= মান , সুতরাং এটি পরিবর্তন করতে পারবেন না।

8

কোটলিনে valকেবল একটি পঠনযোগ্য সম্পত্তি এবং এটি কেবল কোনও গেটর দ্বারা অ্যাক্সেস করা যায়। valঅপরিবর্তনীয়

val উদাহরণ:

val piNumber: Double = 3.1415926
    get() = field

তবে, varএকটি পঠন-পাঠের সম্পত্তি, তাই এটি কেবল একজন গেটর নয়, সেটার দ্বারাও অ্যাক্সেস করা যায়। varপরিবর্তনীয়।

var উদাহরণ:

var gravity: Double = 9.8
    get() = field
    set(value) { 
        field = value 
    }    

আপনি যদি একটি পরিবর্তনীয় পরিবর্তন করার চেষ্টা করেন val, আইডিই আপনাকে ত্রুটি দেখাবে:

fun main() {    
    piNumber = 3.14          // ERROR
    println(piNumber)
}

// RESULT:   Val cannot be reassigned 

তবে একটি পরিবর্তনীয় পরিবর্তন করা varযেতে পারে:

fun main() {    
    gravity = 0.0
    println(gravity)
}

// RESULT:   0.0

আশাকরি এটা সাহায্য করবে.


4

ভাল সম্পত্তি জাভা চূড়ান্ত সম্পত্তি অনুরূপ। আপনি কেবল এটির জন্য একটি মূল্য নির্ধারণের অনুমতি দেওয়া হয়েছে। দ্বিতীয়বারের জন্য যখন আপনি এটি একটি মান দিয়ে পুনরায় নিয়োগের চেষ্টা করবেন আপনি একটি সংকলন ত্রুটি পাবেন। যদিও বর্ণের সম্পত্তিটি পরিবর্তনযোগ্য যা আপনি যখন চান তখন এটিকে পুনরায় অর্পণ করতে এবং যে কোনও সময় আপনি চান তার জন্য নির্দ্বিধায়।


4

আপনার কি কোনও ভেরিয়েবল পরিবর্তন করতে হবে বা স্থায়ীভাবে সেট করতে হবে?

  • একটি ভাল উদাহরণ যদি এটি ভাল পাই পাইপ্লেসেস = 3.14159 এর মতো কিছু হয় তবে আপনি এটিকে সেট করে দিন val। আপনার কি এখন বা পরে সেই পরিবর্তনশীল পরিবর্তন করতে হবে এমন কোনও সম্ভাবনা রয়েছে, তারপরে আপনি এটিকে ভার হিসাবে সেট করবেন।

  • উদাহরণস্বরূপ: একটি গাড়ির রঙ, হতে পারে var colorCar = green। পরে আপনি এটি পরিবর্তন করতে পারেনcolorCar = blue , যেখানে হিসাবে val, আপনি পারবেন না।

  • এখানে সম্পর্কিত প্রতিক্রিয়াগুলি mutableএবং immutableজরিমানা, তবে এই শর্তগুলি সুপরিচিত না হলে বা কীভাবে প্রোগ্রাম করবেন তা শেখার ক্ষেত্রে ডুবে থাকলে ভীতিজনক হতে পারে।


3

মান valপরিবর্তনশীল শুধুমাত্র একবার নিয়োগ করা যেতে পারে।

val address = Address("Bangalore","India")
address = Address("Delhi","India") // Error, Reassigning is not possible with val

যদিও আপনি মানটি পুনরায় নিয়োগ করতে পারবেন না তবে আপনি অবশ্যই অবজেক্টের বৈশিষ্ট্যগুলি সংশোধন করতে পারবেন।

//Given that city and country are not val
address.setCity("Delhi") 
address.setCountry("India")

এর অর্থ আপনি যে বস্তুর রেফারেন্সটিকে ভেরিয়েবলটি নির্দেশ করছেন তা পরিবর্তন করতে পারবেন না তবে সেই ভেরিয়েবলের অন্তর্নিহিত বৈশিষ্ট্যগুলি পরিবর্তন করা যেতে পারে।

ভেরিয়েবলের মানটি আপনার ইচ্ছে অনুসারে যতবার পুনরায় নিয়োগ দেওয়া যেতে পারে।

var address = Address("Bangalore","India")
address = Address("Delhi","India") // No Error , Reassigning possible.

স্পষ্টতই, এগুলি অন্তর্নিহিত বৈশিষ্ট্যগুলি যতক্ষণ না তাদের ভ্যাল হিসাবে ঘোষণা করা হয় ততক্ষণ পরিবর্তন করা যেতে পারে।

//Given that city and country are not val
address.setCity("Delhi")
address.setCountry("India")

3

কোটলিন ভ্যাল এবং ভারে ভেরিয়েবল তৈরির দুটি উপায়

1. VAL ধ্রুবক মান সঞ্চয় করে। একে ফাইনাল ভেরিয়েবলও বলা হয়

2. VAR পরিবর্তনশীল মান সংরক্ষণ করে

উদাহরণস্বরূপ এখানে ক্লিক করুন


2

valconstantভেরিয়েবলের মতো , নিজেই পরিবর্তন করা যায় না, কেবল পড়া যায়, তবে এর বৈশিষ্ট্যগুলি valসংশোধন করা যায়; varঅন্য প্রোগ্রামিং ভাষায় মিউট্যান্ট ভেরিয়েবলের মতো।


2

Val অপরিবর্তনীয় চূড়ান্ত, প্রথম নিয়োগ মান পরিবর্তন করা যাবে না।

val name:String = "andy"

name = "thomas" //Error: Val cannot be reassigned

var হ'ল পরিবর্তনযোগ্য, পুনরায় স্বাক্ষরযোগ্য, আপনি মানটি বারবার পরিবর্তন করতে পারেন।

val a:Int = 1
var b:Int = 1
println("${a + b}") // output 2

b = 4
println("${a + b}") // output 5

আমি মনে করি এটি স্মরণ করার সবচেয়ে সহজ উপায়:

ভাল = পরিবর্তনশীল ফাইনাল

var = পরিবর্তনশীল পুনরায় স্বাক্ষরযোগ্য, বা ভল এর বিপরীত।


প্রশ্নটি কীভাবে বটকে আলাদা করতে হয় তা নয়, দুটিয়ের মধ্যে পার্থক্য সম্পর্কে। দয়া করে আপনি ভাল উত্তর পোস্ট করতে সাহায্য করবে নীচের লিঙ্কটি মধ্য দিয়ে যেতে stackoverflow.com/help/how-to-answer
প্রসুন Karunan ভী

সুতরাং আপনি একই উত্তর পছন্দ করেন, যদিও প্রচুর লোকেরা এর উত্তর দিচ্ছে। এবং কিছু লোকের জন্য কোটলিনে নতুন এবং ভাল শব্দ একই রকম sound সুতরাং এটির কীভাবে পার্থক্য করা যায় এবং সেগুলি কী কী তা আপনাকে তাদের একটি উদাহরণ দিতে হবে। তবে হ্যাঁ, আমি আপনার পরামর্শ নেব। ধন্যবাদ।
ওয়াহিউ আংগারা রায়া

1

উভয়, valএবং varভেরিয়েবল (স্থানীয় এবং শ্রেণীর বৈশিষ্ট্য) ঘোষণা করার জন্য ব্যবহার করা যেতে পারে।

স্থানীয় ভেরিয়েবল :

  1. valকেবলমাত্র পঠনযোগ্য ভেরিয়েবলগুলি ঘোষণা করে যা কেবল একবার বরাদ্দ করা যেতে পারে তবে পুনরায় নিয়োগ দেওয়া যায় না

উদাহরণ:

val readonlyString = “hello”
readonlyString = “c u” // Not allowed for `val`
  1. varআপনি জাভা থেকে জানেন বলে পুনরায় স্বাক্ষরযোগ্য ভেরিয়েবলগুলি ঘোষণা করে (কীওয়ার্ডটি জাভা 10, "স্থানীয় ভেরিয়েবল টাইপ অনুমান" তে প্রবর্তিত হবে )।

উদাহরণ:

var reasignableString = “hello”
reasignableString = “c u” // OK

এটি সর্বদা ব্যবহার করা ভাল val। যতবার varসম্ভব এড়ানো চেষ্টা করুন !

শ্রেণীর বৈশিষ্ট্য :

উভয় কীওয়ার্ড ক্লাসের মধ্যে বৈশিষ্ট্য সংজ্ঞায়িত করতে ব্যবহৃত হয় । উদাহরণ হিসাবে, নিম্নলিখিত এক নজরে দেখুন data class:

data class Person (val name: String, var age: Int)

Personযার মধ্যে একটি শুধু পড়ার জন্য দুটি ক্ষেত্র রয়েছে ( name)। ageঅন্যদিকে, বর্গ ইনস্ট্যান্স পর মাধ্যমে প্রদান করা স্থানান্তর করা যাবে setter। নোট করুন যে nameএকটি সম্পর্কিত সেটার পদ্ধতি থাকবে না।


1

উভয় ভেরিয়েবল প্রাথমিক হিসাবে ব্যবহৃত হয়

  • ধ্রুবক ভেরিয়েবলের মতো ভাল, এটি পঠনযোগ্য হতে পারে এবং একটি ভালের বৈশিষ্ট্যও সংশোধন করা যায়।

  • একটি পরিবর্তনীয় পরিবর্তনশীল মত var। আপনি যে কোনও সময় মান পরিবর্তন করতে পারেন।


1

সংক্ষেপে, Val পরিবর্তনশীল চূড়ান্ত (চপল নয়) বা ধ্রুবক মান যে ভবিষ্যতের এবং পরিবর্তিত করা হবে না Var পরিবর্তনশীল (চপল) ভবিষ্যতে পরিবর্তন করা যাবে।

class DeliveryOrderEvent(val d : Delivery)
// Only getter

উপরের কোডটি দেখুন। এটি একটি মডেল শ্রেণি, তথ্য পাসের জন্য ব্যবহৃত হবে। আমি সেট করেছেন Val পরিবর্তনশীল সামনে কারণ এই পরিবর্তনশীল ডেটা পেতে ব্যবহার করা হয়েছিল।

class DeliveryOrderEvent(var d : Delivery)

// setter and getter is fine here. No error

এছাড়াও, যদি আপনি সেট ডেটাতে প্রয়োজন তোমার সাথে পরে ব্যবহার প্রয়োজন Var শব্দ একটি পরিবর্তনশীল আগে, আপনি শুধুমাত্র মান পেতে একবার তারপর ব্যবহার প্রয়োজন Val শব্দ


1

সাধারণ

  • Valstaticজাভা হিসাবে মত ফিল্ডের জন্য ব্যবহার করা হয়Static Keyword

  • Staticকোটলিনের মতো জাভা / একই ক্ষেত্রে

  • এবং Varকোটলিনে ভেরিয়েবল ফিল্ডকে বোঝায় যে, আপনি এটি পরিবর্তন করতে পারেন।

  • প্রায়শই Staticব্যবহৃত হয় যখন আপনি স্থিতিশীল মেমোরিতে একবারে মান সংরক্ষণ করতে চান,

উদাহরণ:

 if you assign

 val a=1
 a=3  You can not change it 
  • আপনি পরিবর্তন করতে পারবেন না, এটি চূড়ান্ত মান এবং স্ট্যাটিক

    var b=2

    b=4 আপনি এটি পরিবর্তন করতে পারেন


1

ভাল: অবশ্যই যোগ বা প্রাথমিক মান অবশ্যই পরিবর্তন করতে পারে না। var: এটি ভেরিয়েবল কোডের যে কোনও লাইনে পরিবর্তন করতে পারে।


1

কোটলিনে আমরা দুটি ধরণের পরিবর্তনশীল ঘোষণা করতে পারি: valএবং varvalপুনরায় নিয়োগ দেওয়া যাবে না, এটি একটি চূড়ান্ত পরিবর্তনশীল হিসাবে কাজ করে।

val x = 2
x=3 // cannot be reassigned

অন্যদিকে, ভারটিকে পুনরায় নিয়োগ দেওয়া যেতে পারে এটি পরিবর্তনীয়

var x = 2
x=3 // can be reassigned

0

উভয়ই ভেরিয়েবল একমাত্র পার্থক্য হ'ল পরিবর্তনশীল ভেরিয়েবল এবং অপরিবর্তনীয় পরিবর্তনশীল এবং এর চেয়ে বেশি পার্থক্য কিছুই নেই। var হ'ল মিউটেবল ভেরিয়েবল এবং ভ্যাল অপরিবর্তনীয় simple সাধারণ ভাষায় ভেরি পরিবর্তন করতে পারে মান শুরু করার পরে মান ভাল হয় এবং এটি আরম্ভের পরে মানটি পরিবর্তন করতে পারে না।


0

val(মান থেকে): অপরিবর্তনীয় রেফারেন্স। এর সাথে ঘোষিত একটি পরিবর্তনশীল valএটি আরম্ভ করার পরে পুনরায় নিয়োগ দেওয়া যাবে না। এটি finalজাভাতে একটি ভেরিয়েবলের সাথে সম্পর্কিত।

var(পরিবর্তনশীল থেকে): পরিবর্তনীয় রেফারেন্স। এ জাতীয় পরিবর্তকের মান পরিবর্তন করা যায়। এই ঘোষণাটি নিয়মিত (চূড়ান্ত নয়) জাভা ভেরিয়েবলের সাথে সম্পর্কিত।


0

ভার মানে পরিবর্তনশীল -আপনি 'ভার' ব্যবহার করে কোনও বস্তু সঞ্চয় করে থাকলে এটি সময়ের সাথে পরিবর্তিত হতে পারে।

উদাহরণ স্বরূপ:

fun main(args: Array<String>) {
    var a=12
    var b=13
    var c=12
    a=c+b **//new object 25**
    print(a)
}

ভাল মানে মান - এটি জাভাতে একটি 'ধ্রুবক' এর মতো ।

উদাহরণ স্বরূপ:

fun main(args: Array<String>) {
    val a=12
    var b=13
    var c=12
    a=c+b **//You can't assign like that.it's an error.**
    print(a)
}

0

ভেরিয়েবলগুলি সেই পরিবর্তনশীল তৈরির জন্য ব্যবহার করা হয় যার মূল্য প্রয়োগের সাথে সাথে আপনার প্রয়োগের সময় পরিবর্তন হবে। এটি সুইফটের ভিএআর সমান, অন্যদিকে ভ্যালালটি সেই পরিবর্তনশীল তৈরির জন্য ব্যবহৃত হয় যার মূল্য আপনার অ্যাপ্লিকেশনটিতে সময়ের সাথে সাথে পরিবর্তিত হবে না t এটি সুইফটের এলইটি সমান।


0

ভাল - অপরিবর্তনীয় (একবার আরম্ভ করা পুনরায় নিয়োগ দেওয়া যাবে না)

var - পরিবর্তনীয় (মান পরিবর্তন করতে সক্ষম)

উদাহরণ

কোটলিনে - ভাল n = 20 & var n = 20

জাভাতে - ফাইনাল ইন এন = 20; & int n = 20;


0

var একটি পরিবর্তনীয় পরিবর্তনশীল এবং একাধিকবার বরাদ্দ করা যেতে পারে এবং ভল পরিবর্তনযোগ্য পরিবর্তনশীল এবং কেবলমাত্র একক সময় অন্তর্বর্তী হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.