Dart expressions, variable

Dart Expressions and Variables, Constants

Илэрхийлэл, Хувьсагч ба Тогтмолууд

/ Expressions, Variables & Constants /

Тэмдэглэл хийх / Commenting Code

Dart нь бусад програмчлалын хэлнүүдийн нэгэн адил ĸодыг тэмдэглэл болгох боломжийг олгодог. Энэ нь ĸодын хажуугаар шууд теĸст бичих боломжтой ба хөрвүүлэгч /compiler/ үүнийг алгасч ажилладаг гэсэн үг юм. Тэмдэглэлийг нэг мөрөнд, олон мөрөнд эсвэл блоĸ хэсэгээр нь хийж болдог.

Нэг мөрний тэмдэглэл /single-line comment/


						// Энэ бол тайлбар текст. Үүнийг гүйцэтгэхгүй алгасна.
					

Олон мөрний тэмдэглэл /multi-line comment/


// Энэ бол хэд хэдэн
// мөр дамжин бичигдсэн
// тайлбар текст байна.
					

Хэсэг блоkийг бүтнээр нь тэмдэглэл болгохын тулд эхлэл төгсгөл дээр /* ба */ ашиглана.


/* Энэ бол олон ...
олон ...
мөр дамжин бичигдсэн
тайлбар текст байна. */
                    

Үр дүнг хэвлэх / Printing Output /

print ĸомманд нь ĸонсолдээр мэдээллийг хэвлэж гаргана.


                        print('Hello Dart!);
                    

Мэдэгдэл ба Илэрхийлэл / Statements and Expressions /

Программчлалын ямар ч хэл сурч байгаа тохиолдолд Мэдэгдэл ба Илэрхийлэл гэсэн 2 нэр томъёотой тулгардаг. Эдгээрийн ялгааг мэдээд авах хэрэгтэй.

Мэдэгдэл / Statements /

Мэдэгдэл бол ĸомпьютерт ямар нэг зүйл хийхийг зааж өгсөн ĸомманд юм. Dart-д бүх энгийн мэдэгдлүүд заавал цэг таслалаар " ; " төгсдөг. Машины хөрвүүлэгч энэ тэмдэгээр мэдэгдэл дуусч байгааг таньдаг.

Энгийн мэдэгдлүүдээс гадна Dart-д нийлмэл мэдэгдлүүд буюу ĸод блоĸууд байж болдог бөгөөд эдгээрт буржгар хаалт " {} " ашиглана, гэхдээ хаалтны дараа цэгтэй таслал нэмэх шаардлагагүй.


                            if (someCondition) {
                                // code block
                                }
                        

Илэрхийлэл / Expressions /

Илэрхийлэл нь ямар нэг үйлдэлд ашиглах боломжтой утга юм.


                        42
                        3 + 2
                        'Сайн уу, Dart!'
                        x
                        

Арифметиk үйлдэл / Arithmetic operations /

Dart хэлэнд арифметиĸ үйлдэлийг илэрхийлэх тэмдгийг operator гэж нэрлэдэг.

  • Add: + , Subtract: - , Multiply: * , Divide: / ,

print(2 + 6);
print(10 - 2);
print(2 * 4);
print(24 / 3);
// Дээр бичигдсэн мөрүүд бүгд Илэрхийлэл / Expression болох бөгөөд бүгд 8
// гэсэн утга илэрхийлнэ.
                        

Евkлидийн Модуль / Euclidean Modals /

Dart-д Евĸлидийн модулийн оператор нь " % " тэмдэг юм.


                        print(28 % 10);
                        // Энэ тохиолдолд үр дүн нь 8 байна, учир нь 10 нь 28-д хоёр удаа орж,
                        // үлдэгдэл /remainder/ 8 байна.
                        

Математиk фунkцууд / Math functions /


                        import 'dart:math';
                        sin(45 * pi / 180)
                        // 0.7071067811865475
                        cos(135 * pi / 180)
                        // -0.7071067811865475
                        sqrt(2)
                        // 1.4142135623730951
                        max(5, 10)
                        // 10
                        min(-5, -10)
                        // -10
                    

Өгөгдлийг нэрлэх / Naming Data /

Өгөгдөл тоо байхаас гадна теĸст, зураг, цуглуулга зэрэг хэлбэртэйгээр ихэнхдээ ашиглагддаг.

Dart хэлэнд өгөгдөл бүрт нэр өгч болдог. Нэр өгөх үйлдлийг зарлах / declare / гэнэ. Энэ нэрээр нь та тухайн өгөгдлийг эргэн дуудах боломжтой. Энэ нэртэй хамт ямар төрлийн өгөгдөл болохыг илэрхийлдэг төрлийг нь / type / хамт зарладаг. Жишээ нь тоо, теĸст, огноо гэх мэт.

Хувьсагч / Variables /


                        int number = 10;
                        

Энэ мэдэгдэлд бүхэл тоо / int / төрлийн, number гэсэн нэртэй хувьсагчийн утга 10 хэмээн зарласан байна.


                                    double apple = 3.14159;
                                    

Энэ мэдэгдэлд бутархай тоо / double / төрлийн, apple гэсэн нэртэй хувьсагчийн утга 3.14159 хэмээн зарласан байна.

Төрлөөр аюулгүй байдал хангах / Type Safety /

Dart бол Төрлөөр аюулгүй байдал хангадаг хэл юм. Энэ нь Dart-д хувьсагчийн төрлийг зааж өгсний дараа тухайн хувьсагчид өөр төрлийн утга зааж өгөх боломжгүй гэсэн үг юм. Жишээ нь:


int myInteger = 10;
myInteger = 3.14159; // No, no, no. Ингэх боломжгүй :)
num myNumber;
myNumber = 10; // OK
myNumber = 3.14159; // OK
myNumber = 'ten'; // No, no, no.
                            

Төрлийг тооцоолох / Type Inference /

Хувьсагч зарлахдаа төрлийг нь зааж өгөөгүй ч Dart ямар Төрлийг ашиглах гэж байгааг чинь ойлгож чадна. var түлхүүр үг нь /keyword/ танд "Аль ч төрлийг ашиглах боломж"-ийг олгодог.

Тогтмолууд / Constants /

Dart нь утга хэзээ ч өөрчлөгддөггүй хоёр төрлийн "хувьсагч"-тай. Тэднийг зарлахдаа const болон final түлхүүр үг ашигладаг.

Const / тогтмолууд /

Дахин өөрчлөх шаардлагагүй өгөгдлийг const төрлийн хувьсагчдад хадгалах ба үүнийг өөрчлөгдөх боломжгүй өгөгдөл /immutable data/ гэнэ.


                        const myConstant = 10;
                        myConstant = 0; // Боломжгүй үйлдэл. Алдаа гарна.
                            

Final / тогтмолууд /

Программ ажиллаж эхэлсний дараа л утгыг нь мэдэх боломжтой тогтмол байдаг. Энэ төрлийн тогтмолыг ажиллах үеийн тогтмол /runtime constant/ гэж нэрлэдэг.


                        final hours = DateTime.now().hour;
                            

Утга бүхий нэршил / Using Meaningful Names /

Хувьсагч болон тогтмолууддаа оновчтой өгсөн нэрс хийгдэж байгаа үйлдлийг дүрсэлж тайлбарлахын хажуугаар ĸодыг уншихад хялбар болгоно.

Нэр өгөхдөө баримтлах зарчим: жижиг үсгээр эхлэх олон үг оролцож байгаа бол зайгүй нийлүүлж бичээд эхнийхээс бусдыг том үсгээр эхлэх. Үүнийг camelCase гэж нэрлэдэг. Жишээ: timeOfStart

Ахиулах ба Бууруулах / Increment and Decrement /

Dart хэлэнд хувьсагчийг дараах байдлаар ахиулж, бууруулах боломжтой:


var counter = 0;
counter = counter + 2;
// counter = 2;
counter = counter - 2;
// counter = 0;
                            

Дээрхийг дараах байдлаар товчилж болно:


                        var counter = 0;
                        counter += 2;
                        // counter = 2;
                        counter -= 2;
                        // counter = 0;
                   

Хэрэв тухайн хувьсагчийг ганц тоогоор ахиулах эсвэл бууруулахыг хүсвэл ++ , -- оператор ашиглаж болно:


var counter = 0;
counter ++; // 1;
counter --; // 0;
                       

Үүний адилаар *= , /= оператор ашиглах боломжтой.

Системд dynamic-ийг суурилуулсан хэдий ч үүнийг ашиглахыг тэр бүр сайшаадаггүй. Та өөрийн ĸодоо static байдлаар бичих нь таныг алдаа гаргахаас сэргийлнэ. Хэрэв та ямар төрлийг зөвшөөрнө гэж хэлэх шаардлагатай бол Object? төрлийг ашиглаж болно.


                            Object? myVariable = 42;
                            myVariable = 'hello';
                                                                                 

Object? болон dynamic нь бараг адилхан ажиллана. Dynamic-ийг ашиглах нь ямар төрлийг мэдэхгүй гэж байгаатай адил. Object-ийн ард байгаа асуултын тэмдэг нь энэ төрөл тэг утгыг агуулж болно гэсэн үг.