دروس Kotlin للمبتدئين (أمثلة)

ما هو كوتلين؟

كوتلن هي لغة برمجة مفتوحة المصدر مكتوبة بشكل ثابت وتعمل على Java Virtual Machine (JVM). فهو يجمع بين البرمجة الشيئية (OOPs) والبرمجة الوظيفية في منصات غير مقيدة ومكتفية ذاتيًا ومميزة. كما أنه يتيح توأمة الوظائف من خلال رموز مصغرة. Kotlin هي لغة برمجة للأغراض العامة تم تصميمها بواسطة JetBrains.

تاريخ كوتلين

وإليك معالم مهمة من تاريخ كوتلين:

السنة الحدث/الفعالية
2016 تم إطلاق Kotlin v1.0
2017 إعلان جوجل عن دعم من الدرجة الأولى لـ kotlin في android
2018 يأتي Kotlin v1.2 مزودًا برموز إضافية للتوزيع بين JVM وJavaScript
2019 أعلنت Google أن Kotlin هي لغة البرمجة المفضلة لديها Android مطورو التطبيق
2021 في 20 سبتمبر 2021، تم إطلاق الإصدار 1.5.31 من Kotlin.

دواعي استخدام الكوتلن

فيما يلي بعض الأسباب المهمة وراء استخدام Kotlin على نطاق واسع:

  • Kotlin هي لغة مكتوبة بشكل ثابت وهي سهلة القراءة والكتابة.
  • لا تتطلب برامج Kotlin الفواصل المنقوطة في برنامجها. وهذا يجعل الكود سهلاً وأكثر readable.
  • تسمح هذه اللغة بتبادل واستخدام المعلومات من Java بطرق مختلفة. علاوة على ذلك، يمكن أن يتواجد كود Java و Kotlin في نفس المشروع.
  • يهدف نظام الكتابة في Kotlin إلى إزالة NullPointerException من الكود.
  • سوف يستغرق الأمر وقتًا أقل لكتابة تعليمات برمجية جديدة في Kotlin. من الأسهل نشر كود kotlin والحفاظ عليه على نطاق واسع.

مميزات الكوتلن

فيما يلي بعض ميزات Kotlin التي ستجعلك متأكدًا من مسار التقدم في لغة البرمجة.

الترميز المشذب:

Kotlin هي لغة برمجة تعتمد على OOPs حيث يمكن قطع سطر التعليمات البرمجية بنسبة تصل إلى 40% مما يجعل Kotlin خيارًا مثاليًا لتطوير البرامج أو الويب.

مفتوح المصدر:

كوتلين ل Android يستخدم JVM ويجمع بين ميزات OOPs والبرمجة الوظيفية.

التجميع السريع:

من السهل تجميع التعليمات البرمجية عند العمل مع Kotlin مما يؤدي إلى أداء أفضل android التطوير، وسيشرح أيضًا نوع وظيفة البيانات التي يمكن استخدامها في الكود بأكمله.

وظائف التمديد:

يمكن لـ Kotlin دعم مجموعة متنوعة من وظائف الامتداد دون إجراء أي تغييرات على الكود. فهو يساعد في جعل التعليمات البرمجية الحالية أكثر جاذبية ورائعة للمطورين.

على سبيل المثال:

Fun String.removeFirstLastChar():
String = this.substring(1, this.length -1)

سيساعد هذا الكود في تقليص الحرف الأول والأخير من السلسلة، ويمكننا تطبيقه على النحو التالي:

Val string1 = "Today is cloudy."
Val string2 = string1.removeFirstLastChar()

سلامة فارغة:

في Kotlin، يميز النظام بين المراجع الخالية والمراجع غير الخالية كما هو موضح في مثال Kotlin أدناه.

على سبيل المثال، لا يمكن لمتغير السلسلة أن يحتوي على قيمة فارغة:

Var string1: String = "Today is Sunday"
String1 = null  // compilation error
To permit null, we can adjoin the nullable variable :
Var string2: String? = "Today is Sunday"
String2 = null
print(string2)

في جملةoperaبلي:

يمكن استخدام أكواد Kotlin بواسطة Java، ويمكن استخدام أكواد Java مع Kotlin. لذا، إذا كان لديك معرفة وجه الفتاة البرمجة، من السهل التبديل إلى تطوير Kotlin. أيضًا، إذا كانت هناك بعض التطبيقات المكتوبة بلغة Java، فيمكن استخدامها مع بيئة Kotlin.

أدوات قوية:

مثل Java، يمكن أيضًا كتابة كود Kotlin باستخدام IDE أو باستخدام واجهة سطر الأوامر. من السهل العمل مع IDE، كما يتم تقليل الأخطاء النحوية بشكل كبير. وفي الوقت نفسه، عند العمل باستخدام واجهة سطر الأوامر، يجب تجميع التعليمات البرمجية أولاً.

طاقم ذكي:

يساعد الصب الذكي بشكل أساسي على تقليل تكاليف التطبيق وتحسين سرعته أو أدائه. يعمل على إدارة كفاءة التعليمات البرمجية باستخدام نوع النوع أو القيم غير القابلة للتغيير.

على سبيل المثال، إذا تم تحديد السلسلة، فيمكن العثور على طولها وعددها بمساعدة وظيفة Smart Cast:

Val string1: Any = "Today is Monday"
when(string1)
{
is String  -> string1.length
Is Int -> string1.inc()
}

انخفاض تكلفة التبني:

تُفضل Kotlin من قبل الشركات بسبب تكلفة اعتمادها الضائعة. والأهم من ذلك، أنه من السهل التعلم من قبل المطورين، خاصة الذين لديهم خلفية برمجية.

إعداد بيئة Kotlin

فولوwing هي الخطوات التي تساعدك في إعداد بيئة العمل عن طريق تثبيت Kotlin.

الخطوة 1) تثبيت جافا

كما ناقشنا سابقًا أن Kotlin تعتمد على Java، لذا عليك تثبيت Java أولاً عند التخطيط لاعتماد Kotlin. الرجوع لدينا برنامج تعليمي لتثبيت جافا.

الخطوة 2) تثبيت Java IDEs

ولحسن الحظ، هناك متعددة بيئة تطوير متكاملة لجافا للإختيار من. لقد قدمنا ​​هنا روابط التنزيل لتسهيل الأمور عليك.

في هذا البرنامج التعليمي Kotlin، سوف نستخدم Eclipse.

الخطوة 3) تثبيت Kotlin

لتثبيت Kotlin في Eclipse، انتقل إلى قسم المساعدة في Eclipse وانقر فوق Eclipse خيار السوق.

إعداد بيئة Kotlin

الآن، اكتب الكلمة الأساسية Kotlin في البحث box. انقر على خيار Go لسرد البرنامج المساعد. سيعطيك رابطًا للمكون الإضافي Kotlin، ستحتاج إلى تثبيت المكون الإضافي من الرابط المحدد.

إعداد بيئة Kotlin

الرجاء إعادة تشغيل Eclipse IDE، بمجرد اكتمال التثبيت. يمكنك العثور على رمز الاختصار في الزاوية اليمنى العليا Eclipse بيئة تطوير متكاملة. إنها طريقة الوصول السريع.

إعداد بيئة Kotlin

طريقة أخرى للوصول إلى Kotlin في Eclipse IDE هو الذهاب إلى Windows، المنظورات، افتح المنظورات، ثم اختر خيار أخرى. هنا، يمكنك التحقق من قائمة المكونات الإضافية المثبتة later، على النحو المبين أدناه.

إعداد بيئة Kotlin

بمجرد التحقق من تثبيت Kotlin، فلنقم بإنشاء برنامج Kotlin الأول في الخطوة التالية.

الخطوة 4) برنامج Kotlin الأول

ابدأ بمشروعك الأول في Kotlin. من القائمة "ملف"، اختر الخيار "جديد"، ثم حدد خيارًا آخر وابدأ بمشروع Kotlin جديد من القائمة.

إعداد بيئة Kotlin

الآن، عليك تحديد اسم للمشروع، وأنت جاهز للعمل مع Kotlin.

إعداد بيئة Kotlin

مع هذه الخطوات البسيطة، أصبح التنزيل سهلاً Eclipse وKotlin على نظامك واكتب برنامج Kotlin الأول لك على الفور.

Archiبنية كوتلين

حسن البناء archiتعتبر التقنية مهمة للتطبيق من أجل توسيع نطاق ميزاته وتلبية توقعات قاعدة المستخدمين النهائيين. Kotlin لها طابعها الخاص والمميز archiتقنية لتخصيص الذاكرة والحصول على نتائج عالية الجودة للمطورين والمستخدمين النهائيين.

كوروتينات وفصول كوتلين archiقم بتغطية النواة بهذه الطريقة لإنتاج كود معياري أقل، وتضخيم الأداء، وتعزيز الكفاءة. هناك مجموعة متنوعة من السيناريوهات حيث يمكن لمترجم kotlin أن يتفاعل بشكل مختلف، خاصة عندما يقوم بتخصيص أنواع مختلفة من اللغات.

Archiبنية كوتلين
Archiبنية كوتلين

في مجلة archiمخطط tecture، فمن الواضح أن تنفيذ التعليمات البرمجية يتم في ثلاث خطوات سهلة.

  1. في الخطوة الأولى، تتم إضافة ملف ".kt" أو ملف kotlin إلى المترجم.
  2. في الخطوة الثانية، يقوم مترجم Kotlin بتحويل الكود إلى كود بايت.
  3. في الخطوة الثالثة، يتم إدخال الرمز الثانوي آلة جافا الافتراضية ويتم تنفيذه بواسطة JVM.

عندما بضعة بايت مشفرة الملف operaتيس على JVM، هم kindle التواصل المتبادل فيما بينهم، وهذا هو سبب تسمية الميزة في Kotlin بـ interoperaالقدرة على جافا أوك الولادة

يحدث انتقال Kotlin إلى JavaScript عندما تستهدف Kotlin JavaScript.

عند اختيار هدف JavaScript، فإن أي كود Kotlin الذي يعد جزءًا من المكتبة التي تبحر مع Kotlin سيتم سكبه باستخدام JavaScript. ومع ذلك، يتم استبعاد Java Development Kit (JDK) أو أي مكتبة جافا مستخدمة.

لا يتم أخذ ملف غير Kotlin في الاعتبار أثناء ذلك operaنشوئها. أثناء استهداف ملف JavaScript .kt، يتم تحويله إلى ES5.1 بواسطة مترجم Kotlin لإنشاء تعليمات برمجية متسقة لـ JavaScript. يسعى مترجم Kotlin إلى الحصول على مخرجات ذات حجم مثالي، interoperaالقدرة على استخدام الوحدة النمطية الموجودة، ونفس الوظيفة مع المكتبة القياسية، والإخراج الذي هو JavaScript readable.

يتضح من المناقشة أن مترجمي Kotlin يمكنهم إنشاء كود أكثر كفاءة وكفاءة واستقلالية يؤدي إلى منتج برمجي عالي الأداء.

متغير كوتلين

يتم استخدام المتغيرات لتخزين البيانات ليتم معالجتها والرجوع إليها في البرنامج. إنها في الأساس وحدة تخزين البيانات ووضع العلامات عليها وتنتظر اسمًا مستعارًا توضيحيًا بحيث يكون البرنامج سهل القراءة وسهل الفهم. بمعنى آخر، يمكننا القول أن المتغيرات هي حاويات لجمع المعلومات.

في Kotlin، يجب الإعلان عن جميع المتغيرات. ومع ذلك، إذا لم يتم الإعلان عن أي متغير، فسيظهر أنه خطأ في بناء الجملة. كما أن الإعلان عن المتغير يحدد نوع البيانات التي نسمح بهاwing لتخزينها في المتغير. في Kotlin، يمكن تعريف المتغيرات باستخدام الكلمات الأساسية val وvar. فيما يلي صيغة الإعلان عن المتغيرات في Kotlin:

Var day = "Monday"
Var number = 3

لقد قمنا هنا بإعلان المتغير المحلي day وقيمته هي "Monday' ونوعه String ورقم متغير محلي آخر قيمته 3 ونوعه Int لأن الحرفي هنا من النوع الصحيح الذي هو 3.

المتغيرات المحلية مخصصةmariتم الإعلان عن التزامن وتهيئتهneously. يمكننا أيضًا إجراء بعض الأمور operaأثناء تهيئة متغير Kotlin.

يمكننا إجراء operaعلى متغير من نفس نوع البيانات، كما هو الحال هنا num1 وnum2 كلاهما من نفس نوع البيانات وهو Int، في حين أن day من نوع بيانات السلسلة. وبالتالي، سوف يظهر خطأ. فيما يلي تقنية أخرى حول كيفية تحديد المتغيرات في Kotlin.

var day : String = "GURU99"
var num : Int = 100

دعونا نرى كيف تختلف الكلمات الرئيسية var و val عن بعضها البعض.

فار :

Var يشبه المتغير العام المستخدم في أي لغة برمجة ويمكن استخدامه عدة مرات في برنامج واحد. علاوة على ذلك، يمكنك تغيير قيمته في أي وقت في البرنامج. ولذلك، فإنه يعرف باسم المتغير القابل للتغيير.

فيما يلي مثال للمتغير القابل للتغيير في Kotlin:

var num1 = 10
Var num2 = 20
Num1 = 20
print(num1 + num2) // output : 40

هنا يتم استبدال قيمة num1 التي تبلغ 20 بالقيمة السابقة num1 وهي 10. وبالتالي فإن ناتج num1 + num2 هو 40 بدلاً من 30.

قيمة:

Val يشبه المتغير الثابت، ولا يمكنك تغيير قيمته later في البرنامج، والتي لا يمكن تعيينها عدة مرات في برنامج واحد ويمكن استخدامها مرة واحدة فقط في برنامج معين. وبالتالي، فإنه يعرف بأنه متغير غير قابل للتغيير.

فيما يلي مثال لبرنامج Kotlin للمتغيرات غير القابلة للتغيير في Kotlin:

Val num1 = 10
Var num2 = 20

هنا، لا يمكن استبدال قيمة num1 التي هي 10 بالقيمة الجديدة num1 وهي 20، لأنها من نوع val الثابت. وبالتالي يكون الناتج 30 بدلا من 40.

ملاحظات: في Kotlin، تُفضل المتغيرات غير القابلة للتغيير على المتغيرات القابلة للتغيير.

أنواع البيانات في كوتلين

يتم تعيين أنواع البيانات من القيم المرتبطة وتصف operaالأمور التي يمكن أن تكون operaتيد عليهم. على غرار لغات البرمجة الأخرى، تمتلك Kotlin أيضًا مجموعة محددة مسبقًا من أنواع البيانات مثل Int وBoolean وChar و Double، الخ.

في Kotlin، يعتبر كل نوع بيانات بمثابة كائن.

الآن في هذا البرنامج التعليمي الأساسي لـ Kotlin، دعنا نتعمق أكثر في أنواع البيانات المحددة مسبقًا المستخدمة في Kotlin.

Numbers :

يقدم Kotlin مجموعة من أنواع البيانات المضمنة المعروفة باسم numbers، والتي يتم تصنيفها فرعيًا كأعداد صحيحة ونقطة عائمة Numbers.

الأعداد الصحيحة :

الأعداد الصحيحة هي فئة numbers الذي له أربعة أنواع:

النوع الحجم (بت) قيمة دقيقة قيمة الحد الأقصى
بايت 8 -128 127
قصير 16 -32768 32767
الباحث 32 -2,147,483,648،231 (-XNUMX) 2,147,483,647 (231-1)
طويل 64 -9,223,372,036,854,775,808،263 (-XNUMX) 9,223,372,036,854,775,807 (263-1)

النقطة العائمة Numbers :

النقطة العائمة Numbers هي غير عدد صحيح numbers التي تحمل بعض القيم العشرية.

Float: Float عبارة عن قيمة فاصلة عائمة أحادية الدقة بحجم 32 بت.

مثال: فار: Float x = 3.25600

Double: Double هو 64 بت double - دقة قيمة النقطة العائمة.

مثال: فار: Double ص = 2456.345587

القيم المنطقية :

يعتبر نوع البيانات المنطقية في Kotlin مهمًا لتمثيل القيم المنطقية. هناك قيمتان محتملتان فقط في القيمة المنطقية إما صحيحة أو خاطئة.

على سبيل المثال: يوم فال = صحيح

فال day2 = خطأ

حرف :

يتم تمثيل الأحرف في Kotlin بمساعدة الكلمة الأساسية المسماة char. في Kotlin، تمثل علامات الاقتباس المفردة إعلان char. في جافا، يتم استخدام char أحيانًا كـ numbers هذا غير ممكن في kotlin.

على سبيل المثال:

val onechar = 'x'
print(onechar) //  output : x
Val onedigit = '7'
print(onedigit) // output : 7

تحويل نوع Kotlin أو صب نوع Kotlin

تحويل النوع هو إجراء لتحويل نوع واحد من متغير البيانات إلى متغير نوع بيانات آخر. إنه كبير جدًا، ويُعرف أيضًا باسم Type Casting.

بشكل بارز، في Java، يتم دعم النوع الضمني لتحويل النوع أو النوع الضمني من التلبيس من نوع بيانات أصغر إلى نوع بيانات أكبر.

For Example : int abc = 15;
Long bcd = abc; // compiles successfully

ومع ذلك، في kotlin، لا يتم دعم التحويل الضمني لنوع بيانات أصغر إلى نوع بيانات أكبر على الإطلاق، حيث لا يمكن تحويل نوع البيانات int إلى نوع بيانات طويل ضمنيًا.

For Example : var abc = 15
Val bcd : Long = abc // error

ومع ذلك، في Kotlin، يتم تحويل النوع بشكل صريح. هنا تأتي إرشادات الوظائف المساعدة التي توجه تحويل متغير نوع بيانات إلى آخر.

هناك وظائف مساعدة معينة مملوكة مسبقًا لتحويل نوع بيانات إلى آخر:

إلىInt()

toByte ()

إلىShort()

توشار ()

إلى طويل ()

toFloat ()

إلىDouble()

For Example : var abc = 15
Val bcd : Long = abc.toLong() // compiles successfully

كوتلن Operaالاختصاصات

OperaTors عبارة عن أحرف أو رموز بالغة الأهمية وخاصة تؤكد operaفي operands التي تحتوي على متغيرات وقيم. في كوتلين، هناك مجموعة من operators التي يتم استخدامها في مختلف operaالعمليات مثل الحساب operaالمهام، المهمة operaالأمور، المقارنة operaالأمور، الخ.

علم الحساب Operaتورس :

علم الحساب operaيتم استخدام tors للجمع والطرح والضرب والقسمة والمعامل.

المُشغل معنى
+ الإضافة (تُستخدم أيضًا لتسلسل السلسلة)
- طرح Operaتور
* تضاعف Operaتور
/ تقسيم Operaتور
% معام Operaتور

على سبيل المثال:

var x = 10
var y = 20
var z = ( ( x + y ) * ( x + y ) ) / 2     

هنا إخراج following الكود 45.

مقارنة Operaتورس :

مقارنة operaيستخدم تور لمقارنة قيمتين أو متغيرين أو اثنين numbers. يتم استخدامه مع أكبر من الرمز ( > ) وأقل من الرمز ( < ) ويساوي الرمز ( == ) ولا يساوي الرمز ( != ) وأكبر من يساوي الرمز ( >= ) وأقل من يساوي الرمز ( != ) الرمز (<= ). دائما ما يؤدي إلى صحة أو خطأ.

على سبيل المثال:

var x = 10
Var y =20
Var z = x < y // Output : true
Var w = x > y // Output : false
Var m = x == y // Output : false

مهمة Operaتورس :

مهمة Operaيتم استخدام tors لتعيين العمليات الحسابية operaقيم تيد. يتم استخدامه مع الرموز مثل +=، -=، *=، /=، %=.

على سبيل المثال:

var x = 10
var y = 20
var x + = y // Output : 30
Var y - = x // Output : 10
Var x * = y // Output : 200

الزيادة والنقصان Operaتورس :

الزيادة والنقصان operaيتم استخدام Tors لزيادة وتقليل قيم المتغير أو الرقم. يتم استخدامه بمساعدة رموز مثل ++ و —.

هناك نوعان من الزيادة والنقصان وهما الزيادة المسبقة ++a، والزيادة اللاحقة a++، والنقصان المسبق –b، والنقصان اللاحق b–.

على سبيل المثال:

var a = 10
var b = 20
var c = a++ // Output: 11
var d = b— //Output : 19     

مصفوفات كوتلن

المصفوفة هي مجموعة متجانسة من أنواع البيانات وهي واحدة من أهم أنواع البيانات الأساسية التي تستخدم لتخزين نفس أنواع البيانات في موقع الذاكرة المتجاورة. يعد المصفوفة مهمًا لتنظيم البيانات بأي لغة برمجة بحيث يسهل البحث أو الفرز عن البيانات المتعددة المخزنة في مكان واحد.

في Kotlin، المصفوفات عبارة عن تعاون قابل للتغيير لنفس أنواع البيانات بدلاً من كونها أنواع بيانات أصلية.

فيما يلي بعض خصائص المصفوفة في Kotlin

  • لا يمكن تغيير حجم المصفوفة بمجرد الإعلان عنها.
  • المصفوفات في Kotlin قابلة للتغيير.
  • يتم تخزين المصفوفات في مواقع الذاكرة المتجاورة.
  • يمكن الوصول إلى المصفوفة بمساعدة الفهارس مثل a[1] وa[2] وما إلى ذلك.
  • يبدأ فهرس المصفوفة بالصفر وهو [0].

في Kotlin، يمكن تعريف المصفوفة بطريقتين مختلفتين

باستخدام الدالة arrayOf() :

في Kotlin، هناك استخدام كبير لوظائف المكتبة. إحدى وظائف المكتبة هذه هي الدالة arrayOf()، والتي تُستخدم لتعريف مصفوفة عن طريق تمرير قيم المتغيرات إلى الوظيفة.

على سبيل المثال: تعريف النوع الضمني للصفيف باستخدام الدالة arrayOf()

val x = arrayOf(1,2,3,4,5,6,7,8,9)

على سبيل المثال: اكتب إعلان الصفيف بشكل صريح باستخدام الدالة arrayOf().

Val y = arrayOf<Int>(1,2,3,4,5,6,7,8,9)

باستخدام منشئ المصفوفة :

في Kotlin، هناك فئة باسم Array. لذلك، من الممكن استخدام مصفوفة من المُنشئ لإنشاء مصفوفة. تحتوي المصفوفة الموجودة في المُنشئ على معلمتين رئيسيتين.

ما هو فهرس المصفوفة في Kotlin؟

الدالة التي يكون فيها فهرس المصفوفة مقبولاً لإرجاع القيمة الأولية للفهرس.

على سبيل المثال:

val abc = Array(7 , { i -> i*1})

هنا، قيمة المصفوفة هي 7 ويتم استخدام تعبير لامدا لتهيئة قيم العنصر.

هناك أيضًا طرق مختلفة للوصول إلى المصفوفات وتعديلها باستخدام وظائف معينة. لذلك، هناك وظيفتان عضويتان get() وset()، يتم استخدامهما للوصول إلى كائنات مصفوفة الفئة.

على سبيل المثال:

val x = arrayOf(10,20,30,40,50,60,70,80,90)
val y = x.get(0) // Output 10

هنا، الإخراج هو 10 لأن القيمة عند الفهرس 0 للصفيف هي 10

ملحوظة: get() يأخذ قيمًا مفردة فقط

على سبيل المثال:

val x = arrayOf(10,20,30,40,50,60,70.80.90)
val y = x.set(2, 3) //

الإخراج : 30 40

هنا، يكون الإخراج 30 و40 نظرًا لأن القيمة عند الفهرس 2 للمصفوفة هي 30 وفي الفهرس 3 تكون 40.

ملاحظة: تأخذ الدالة set()‎ قيمًا متعددة للمصفوفة.

سلاسل كوتلين

السلسلة هي نوع بيانات أساسي في أي لغة برمجة. السلسلة ليست سوى سلسلة من الأحرف. تمثل فئة السلسلة سلاسل الأحرف. في Kotlin، جميع السلاسل هي كائنات من فئة السلسلة، وهو ما يعني أن سلسلة حرفية يتم تنفيذها كمثيلات للفئة.

بناء الجملة:

 Val myString = "Hey there!"

مجموعة كوتلين

تحتوي المجموعة على عدة كائنات من نفس النوع، وتسمى هذه الكائنات الموجودة في المجموعة بالعناصر أو العناصر. يمكن أن يساعد التجميع في تخزين البيانات واسترجاعها ومعالجتها وتجميعها.

أنواع المجموعات:

جمع غير قابل للتغيير

يدعم هذا النوع من المجموعات وظائف القراءة فقط. ولا يمكن تعديل عناصره.

تشمل الطرق:

  • القائمة - listOf() وlistOf ()
  • مجموعة – مجموعة ()
  • الخريطة – مابأوف ()

مجموعة قابلة للتغيير

وهو يدعم كلاً من وظائف القراءة والكتابة.

تشمل الطرق

  • القائمة - mutableListOf() وarrayListOf() وArrayList
  • تعيين - mutableSetOf ()، hashSetOf ()
  • خريطة - mutableMapOf ()، hashMapOf () وHashMap

وظائف كوتلين

الوظائف في أي لغة برمجة هي مجموعة من العبارات المتشابهة المخصصة لأداء مهمة محددة. تسمح الوظائف للبرنامج بتقسيمه إلى كتل تعليمات برمجية صغيرة مختلفة. يؤدي هذا التقسيم للكود إلى زيادة إمكانية قراءة الكود وإمكانية إعادة استخدامه ويجعل البرنامج سهل الإدارة.

كما تُعرف Kotlin بأنها لغة مكتوبة بشكل ثابت. هنا، يتم استخدام الكلمة الأساسية "fun" للإعلان عن وظيفة. في Kotlin، هناك نوعان من الوظائف التي تعتمد فقط على توفرها في المكتبة القياسية أو تعريف المستخدم. هم:

  • وظيفة المكتبة القياسية
  • وظيفة محددة من قبل المستخدم

وظيفة Kotlin

وظائف كوتلين

الآن، دعونا نناقشها بالتفصيل مع أمثلة كود Kotlin.

وظيفة المكتبة القياسية

إنها وظائف مكتبة مدمجة يمكن تعريفها ضمنيًا ومتاحة للاستخدام.

على سبيل المثال 2:

fun main(args: Array<String>){  
var number = 9  
var result = Math.sqrt(number.toDouble())  
print("$result")  
}  

الإخراج:

3.0

sqrt() هي دالة محددة في المكتبة والتي تقوم بإرجاع الجذر التربيعي لرقم.

تقوم الدالة print() بطباعة الرسالة إلى دفق الإخراج القياسي.

وظيفة معرّفة من قبل المستخدم

كما يوحي الاسم، عادةً ما يتم إنشاء هذه الوظائف بواسطة المستخدمين، ويمكن استخدامها للبرمجة المتقدمة.

هنا، يتم الإعلان عن الوظائف باستخدام الكلمة الأساسية "fun".

على سبيل المثال 3:

fun functionName(){
//body of the code
}

هنا، نستدعي الدالة لتشغيل الأكواد داخل الجسم functionName()

أمثلة على وظائف Kotlin:

fun main(args: Array<String>){  
    sum()  
    print("code after sum")  
}  
fun sum(){  
    var num1 =8  
    var num2 = 9  
    println("sum = "+(num1+num2))  
}  

الإخراج:

المجموع = 17

الكود بعد المبلغ

معالجة الاستثناءات في Kotlin

يتم تعريف الاستثناء في البرمجة على أنه مشكلة وقت التشغيل التي تحدث في البرنامج، مما يؤدي إلى إنهائه. يمكن أن تحدث هذه المشكلة بسبب انخفاض مساحة الذاكرة، أو نفاد المصفوفة، أو ظروف مثل القسمة على صفر. للحد من هذه الأنواع من المشكلات في تنفيذ التعليمات البرمجية، يتم استخدام معالجة الاستثناءات.

يتم تعريف معالجة الاستثناءات على أنها التقنية التي تعالج مشكلات وقت التشغيل وتحافظ أيضًا على تدفق البرنامج أثناء التنفيذ.

يستخدم Kotlin تعبير "رمي" لرمي كائن استثناء. هنا جميع فئات الاستثناء هي من نسل فئة Throwable.

رمي MyException ("الاستثناء")

هناك أربعة أنواع من الاستثناءات في معالجة الاستثناءات. هم:

  • حاول - تحتوي هذه الكتلة على عبارات قد تؤدي إلى إنشاء الاستثناء. ويتبعه دائمًا إما الصيد أو أخيرًا أو كليهما.
  • قبض - يلتقط استثناءً تم طرحه من كتلة المحاولة.
  • أخيرًا - يتحقق دائمًا مما إذا كان الاستثناء قد تمت معالجته أم لا.
  • رمي - يتم استخدامه لرمي استثناء بشكل صريح.

حاول التقاط:

في كتلة حاول الالتقاط في معالجة الاستثناءات، تحتوي كتلة المحاولة على التعليمات البرمجية، والتي قد تطرح استثناءً وتلتقط كتلة الالتقاط التعبير وتتعامل معه.

بناء جملة كتلة محاولة الصيد:

try{    
//code with exception    
}catch(e: SomeException){  
//code handling exception  
}    

بناء جملة المحاولة مع الحظر أخيرًا

try{    
//code with exception    
}finally{  
// code finally block  
}   

وأخيرا:

في Kolin، أخيرًا يتحقق الحظر دائمًا مما إذا كان الاستثناء قد تمت معالجته أم لا، مما يجعله بيانًا مهمًا جدًا لمعالجة الاستثناء.

على سبيل المثال 4:

في مقتطف التعليمات البرمجية هذا، يحدث الاستثناء، وتتم معالجته.

fun main (args: Array<String>){  
    try {  	
        val data =  9/ 0  
        println(data)  
    } catch (e: ArithmeticException) {  
        println(e)  
    } finally {  
        println("finally block executes")  
    }  
    println("write next code")  
}  

الإخراج:

java.lang.ArithmeticException: / by zero
finally block executes
write next code

يرمي:

كتلة الرمي تطرح استثناءً صريحًا. علاوة على ذلك، يتم استخدامه لطرح استثناءات مخصصة.

بناء الجملة:

Throw SomeException()

Throw SomeException()

على سبيل المثال:

fun main(args: Array<String>) {
    try{
        println("Exception is not thrown yet")
        throw Exception("Everything is not well")
        println("Exception is thrown")
    }
    catch(e: Exception){
        println(e)

    }
    finally{
        println("You can't ignore me")
    }
}

الإخراج:

مثال Kotlin

السلامة الخالية من Kotlin

تميز أنواع الأنظمة التي تدعم Kotlin بشكل رئيسي بين المراجع التي يمكن أن تحمل مراجع لاغية، وتلك التي لا يمكن أن تحمل مراجع لاغية. Kotlin هي لغة أمان فارغة تهدف إلى إزالة استثناء المؤشر الفارغ أو المرجع الفارغ من التعليمات البرمجية، والذي يُعرف عمدًا باسم A Billخطأ أيون الدولار.

حجر العثرة الأكثر تقليدية للكثيرين لغات البرمجة هو أنه أثناء الوصول إلى عضو بمرجع فارغ، ينتج عنه NullPointerException، والذي قد يكون بسبب !! operaيتم استخدام Tor أو هذا المنشئ في مكان آخر ويتم تمريره عند نقطة أخرى من التعليمات البرمجية. تتطلب الخاصية الخالية تأكيدًا للتحقق من القيمة الفارغة في كل مرة قبل استخدامها.

في Kotlin، يميز النظام بين المراجع الخالية والمراجع غير الخالية.

على سبيل المثال، لا يمكن لمتغير السلسلة أن يحتوي على قيمة فارغة:

على سبيل المثال 5:

fun main(args: Array<String>){
    var x: String = "GURU99 is the only place where you will get maximum technical content!" // Not Null by default
    println("x is : $x")
    // You cannot assign null variable to not-nullable variables 
    // a=null // it will give compilation error
    var y: String? = "Thanks for visiting GURU99" 
// Nullable Variable
    println("y is : $y")
    y = null
    println("y is : $y")
}

الإخراج:

السلامة الخالية من Kotlin

كوتلين عفوًا

يسمح نهج البرمجة الموجهة للكائنات بـ complex مقتطف التعليمات البرمجية للتقسيم إلى كتل تعليمات برمجية أصغر عن طريق إنشاء كائنات. تشترك هذه الأشياء في خاصيتين: الحالة والسلوك.

فيما يلي بعض عناصر OOPs التي سنناقشها مع أمثلة كود Kotlin:

  • فئة وكائنات
  • الصانعين
  • وراثة
  • فئة مجردة

كوتلين عفوًا

الطبقة في كوتلين

أولاً، قبل إنشاء كائن، نحتاج إلى تحديد فئة تُعرف أيضًا باسم المخطط الخاص بالكائن.

بناء الجملة:

class ClassName {
    // property
    // member function
    ... .. ...
}

الكائنات في كوتلين

أثناء تحديد فئة، نحدد فقط مواصفات الكائن، ولا يتم تخصيص أي معلمة أخرى مثل الذاكرة أو التخزين.

بناء الجملة:

var obj1 = ClassName()

بناة في كوتلين

المنشئ هو وسيلة لتهيئة خصائص الفئة. إنها وظيفة عضو يتم استدعاؤها عند إنشاء كائن. ولكن في Kotlin، يعمل الأمر بشكل مختلف.

هناك نوعان من المنشئات في Kotlin:

بناة في كوتلين

بناة في كوتلين

المنشئ الأساسي: الطريقة الأمثل لتهيئة الفصل الدراسي

بناء الجملة:

class myClass(valname: String,varid: Int) {  
    // class body  
}  

المنشئ الثانوي: يساعد على إضافة منطق التهيئة

الوراثة Kotlin

يحدث الوراثة عندما تكتسب الفئة الفرعية بعض خصائص الفئة الأصلية. يُسمح بالميراث عندما يكون لفئتين أو أكثر نفس الخصائص.

بناء الجملة:

open class ParentClass(primary_construct){
    // common code
  }class ChildClass(primary_construct): ParentClass(primary_construct_initializ){
    // ChildClass specific behaviours
  }

فئة مجردة في كوتلين

الفئة المجردة هي فئة لا يمكن إنشاء مثيل لها، ولكن يمكننا أن نرث فئات فرعية منها. يتم استخدام الكلمة الأساسية "abstract" للإعلان عن فئة مجردة.

على سبيل المثال 6:

  open class humanbeings { 
    open fun Eat() { 
        println("All Human being Eat") 
    } 
} 
abstract class Animal : humanbeings() { 
    override abstract fun Eat() 
} 
class Cat: Animal(){ 
    override fun Eat() { 
        println("Cats also loves eating") 
    } 
} 
fun main(args: Array<String>){ 
    val lt = humanbeings() 
    lt.Eat() 
    val d = Cat() 
    d.Eat() 
} 

الإخراج:

فئة مجردة في كوتلين

حاضر ومستقبل Kotlin

الحاضر:

  • العديد من الشركات مثل Netflixيستخدم كل من Pinterest وCorda لغة Kotlin لإنشاء ملفات قوية Android تطبيقات.
  • في فترة قصيرة مدتها عام واحد، 2016 إلى 2017، أصبحت Kotlin ذات شعبية كبيرة بفضل ميزات البرمجة المذهلة.
  • في عام 2017، أعلنت جوجل عن Kotlin كلغة برمجة رسمية لـ android التنمية.
  • يمكنك استبدال كود Java بسرعة بـ Kotlin لأنه متكامل بنسبة 100%operaبلي مع جافا و Android.

المستقبل:

  • تطوير الألعاب عبر المنصات
  • تطوير تطبيقات الهاتف المحمول عبر الأنظمة الأساسية
  • البرمجة النصية من جانب الخدمة والخدمات الصغيرة
  • تعلم الآلة & تحليل البيانات

نبذة عامة

  • Kotlin هي لغة برمجة اقترحتها JetBrains في عام 2010 للتطبيقات متعددة المنصات بموجب ترخيص Apache 2.0.
  • اسم كوتلين مشتق من اسم جزيرة كوتلين في مراسلات مماثلة لجافا بعد اسم جزيرة تسمى جافا.
  • في عام 2016، تم إطلاق الإصدار الأول من Kotlin v1.0
  • لا تتطلب برامج Kotlin الفواصل المنقوطة في برنامجها. وهذا يجعل الكود سهلاً وأكثر readable.
  • كوتلين ل Android Developers هي لغة برمجة تعتمد على OOPs حيث يمكن قطع سطر التعليمات البرمجية بنسبة تصل إلى 40٪ مما يجعل Kotlin خيارًا مثاليًا لتطوير البرامج أو الويب.
  • في Kotlin، يجب الإعلان عن جميع المتغيرات باستخدام الكلمات الأساسية var و val.
  • على غرار لغات البرمجة الأخرى، تمتلك Kotlin أيضًا مجموعة محددة مسبقًا من أنواع البيانات مثل Int وBoolean وChar و Double، الخ.
  • في كوتلين، هناك مجموعة من operators التي يتم استخدامها في مختلف operaالعمليات مثل الحساب operaالمهام، المهمة operaالأمور، المقارنة operaالأمور، الخ.
  • في Kotlin، المصفوفات عبارة عن تعاون قابل للتغيير لنفس أنواع البيانات بدلاً من كونها أنواع بيانات أصلية.
  • في Kotlin، يتم تعريف المصفوفات باستخدام طريقتين - ArrayOF () والمنشئين.
  • Kotlin هي لغة أمان خالية تساعد على إزالة استثناء المؤشر الفارغ أو المرجع الفارغ من التعليمات البرمجية، وهو ما يسمى عمدا A Billخطأ أيون الدولار.