এই সুইফট টিউটোরিয়াল ব্লগে, আমি আপনাকে সুইফটের কিছু প্রাথমিক ধারণার সাথে পরিচয় করিয়ে দেব। তবে, এগিয়ে যাওয়ার আগে, আমি আপনাকে বলছি 'কী সুইফট' এবং আপনি কীভাবে আপনার সিস্টেমে সুইফট ইনস্টল করতে পারেন তার সাথে পরিচিত। তো, এখনই শুরু করা যাক !!
সুইফট টিউটোরিয়ালের এই ব্লগে আমি নীচের বিষয়গুলি আবরণ করব:
- সুইফট কী?
- কীভাবে সুইফট ইনস্টল করবেন?
- বেসিক সিনট্যাক্স
- ভেরিয়েবলস, ডেটাটাইপস এবং টাইপকাস্টিং
- অপারেটর
- শর্তাধীন বিবৃতি
- আইট্রেটিভ লুপস
- অ্যারে এবং টিপলস
- সেট এবং অভিধান
- কার্যাদি
- বন্ধকরণ এবং কাঠামো
- শ্রেণি ও উত্তরাধিকার
- প্রোটোকল
- এক্সটেনশনগুলি
- জেনারিক্স
- গণনা
সুইফ্ট টিউটোরিয়াল: সুইফ্ট কী?
সুইফ্ট একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ যা সি এবং অবজেক্টিভ-সি সেরা গ্রহণ করে এবং অনেকগুলি বিদ্যমান আইওএস 6 এবং ওএস এক্স 10.8 প্ল্যাটফর্মগুলিতে চালানোর জন্য আইওএস / ওএস এক্স বিকাশের জন্য অ্যাপল ইনক দ্বারা তৈরি করা হয়।
সুইফট টিউটোরিয়াল: কীভাবে সুইফট ইনস্টল করবেন?
সুইফ্টটি ব্যবহার করার জন্য, খেলার মাঠে আপনার সুইফ্ট কোডিং চালনার জন্য আপনার এক্সকোড সফ্টওয়্যার প্রয়োজন এবং একবার আপনি যদি সুইফ্টের সাথে স্বাচ্ছন্দ্য বোধ করেন তবে আপনি আইওএস / ওএস এক্স অ্যাপ্লিকেশন বিকাশের জন্য এক্সকোড আইডিই ব্যবহার করতে পারেন।
সুতরাং, ধরে নিই যে অ্যাপল বিকাশকারী ওয়েবসাইটে আপনার একটি অ্যাকাউন্ট রয়েছে, আপনাকে কেবল যেতে হবে অ্যাপল বিকাশকারীদের জন্য ডাউনলোড করুন।
একবার, আপনি লিঙ্কে যান, উপলব্ধ এক্সকোডের সর্বশেষতম সংস্করণটি নির্বাচন করুন এবং ডিস্ক চিত্রের নিকটে প্রদত্ত লিঙ্কটিতে ক্লিক করে এটি ডাউনলোড করুন।
Dmg ফাইলটি ডাউনলোড করার পরে, আপনি এটিতে ডাবল ক্লিক করে এটি ইনস্টল করতে পারেন।
ঠিক আছে!! সুতরাং, একবার আপনার এক্সকোড হয়ে গেলে খোলার জন্য এটিতে ডাবল ক্লিক করুন এবং তারপরে যান ফাইল -> নতুন এবং চয়ন করুন খেলার মাঠ । তারপরে আইওএস চয়ন করুন এবং খেলার মাঠের নাম উল্লেখ করুন। একবার আপনি যে ক্লিক সম্পন্ন হয়ে গেলে সৃষ্টি.
আকার 1: এক্সকোড আইডিইতে খেলার মাঠ তৈরি করা - সুইফট টিউটোরিয়াল
সুতরাং, এখন আপনার খেলার মাঠ প্রস্তুত, কিছু কোডিং দিয়ে শুরু করা যাক!
সুতরাং, প্রাথমিকভাবে আসুন বেসিক সিনট্যাক্স দিয়ে শুরু করা যাক এবং এর পরে একটি হ্যালো ওয়ার্ল্ড প্রোগ্রাম লিখি।
সুইফট টিউটোরিয়াল: বেসিক সিনট্যাক্স
- টোকেন - একটি টোকেন হয় একটি মূলশব্দ , একটি সনাক্তকারী, একটি ধ্রুবক, একটি স্ট্রিং আক্ষরিক, বা একটি প্রতীক।
- সেমিকোলন - সুইফটে আপনাকে কোডে প্রতিটি স্টেটমেন্টের পরে একটি সেমিকোলন () টাইপ করতে হবে না। কেবল একই লাইনে একাধিক বিবৃতি ব্যবহারের ক্ষেত্রে, একটি সেমিকোলন একটি ডিলিমিটার হিসাবে ব্যবহৃত হয়।
- কীওয়ার্ড - কীওয়ার্ডগুলি কোডিং ভাষাগুলিতে সংরক্ষিত শব্দগুলি যা ব্যাকটিক্স দিয়ে পালানো না হলে কনস্ট্যান্ট বা ভেরিয়েবল বা অন্য কোনও সনাক্তকারী নাম হিসাবে ব্যবহৃত হতে পারে না (`& Hellip``)।
- লিটারাল - একটি আক্ষরিক প্রধানত একটি পূর্ণসংখ্যা, ভাসমান-পয়েন্ট সংখ্যা বা স্ট্রিং ধরণের মানের উত্স কোড উপস্থাপনা। সুতরাং, আক্ষরিক একটি পূর্ণসংখ্যার আক্ষরিক, ভাসমান আক্ষরিক, স্ট্রিং আক্ষরিক বা বুলিয়ান আক্ষরিক হতে পারে।
- মন্তব্য - মন্তব্যগুলি সংকলকদের পাঠ্যগুলিকে উপেক্ষা করতে সহায়তা করে যা সংকলনযোগ্য নয়। মাল্টি-লাইন মন্তব্য দিয়ে শুরু / * এবং সাথে সমাপ্তি * / যদিও একক লাইন মন্তব্য ব্যবহার করে লেখা হয় // মন্তব্য শুরুতে।
- শনাক্তকারী - সুইফট একটি কেস-সংবেদনশীল ভাষা এবং শনাক্তকারীদের মধ্যে @, $, এবং% এর মতো বিশেষ অক্ষরকে অনুমতি দেয় না। একটি শনাক্তকারী বর্ণমালা A থেকে Z বা a to z বা আন্ডারস্কোর _ দিয়ে শুরু হয় এর পরে আরও বর্ণ, আন্ডারস্কোর এবং অঙ্কগুলি (0 থেকে 9) হয়।
- সাদা স্থান - শ্বেত স্পেস ফাঁকা, ট্যাবগুলি, নিউলাইন চরিত্রগুলি, মন্তব্যগুলি বর্ণনা করার জন্য এবং স্টেটমেন্টের একটি অংশকে অন্য থেকে আলাদা করার জন্য সুইফটে ব্যবহৃত হয়। এটি কম্পাইলারকে শনাক্ত করতে সাহায্য করে যে একটি বিবৃতিতে একটি উপাদান কোথায় শেষ হয় এবং পরবর্তী উপাদানটি শুরু হয়।
হ্যালো ওয়ার্ল্ড প্রোগ্রাম
/ * হ্যালো ওয়ার্ল্ড প্রোগ্রাম * / আমদানি ইউআইকিট // যেহেতু আমরা আইওএস প্লেগ্রাউন্ডের জন্য প্রোগ্রামটি তৈরি করছি, তাই আমাদের ইউকিত ভার মাই স্ট্রিং = 'হ্যালো ওয়ার্ল্ড!' প্রিন্ট (মাইস্ট্রিং) // সেমিকোলন যেহেতু 2 টি স্টেটমেন্ট একসাথে ব্যবহার করা হয়েছে সেহেতু আমদানি করতে হবে
আউটপুট :
ওহে বিশ্ব!
এখন, আপনি নিজের প্রথম প্রোগ্রামটি লিখেছেন, আসুন ভেরিয়েবল এবং ডেটা ধরণের সম্পর্কে আরও বেশি বুঝতে পারি।
পাইথনে স্প্লিট ফাংশন কীভাবে ব্যবহার করতে হয়শিল্প স্তরের প্রকল্পগুলির সাথে প্রত্যয়িত হন এবং আপনার ক্যারিয়ারের দ্রুত ট্র্যাক করুন
সুইফট টিউটোরিয়াল: ভেরিয়েবলস, ডেটাটাইপস এবং টাইপকাস্টিং
পরিবর্তনশীল
ভেরিয়েবলগুলি মান সংরক্ষণের জন্য সংরক্ষিত মেমরির অবস্থানগুলি ছাড়া আর কিছুই নয়। এর অর্থ হ'ল আপনি যখন ভেরিয়েবল তৈরি করেন আপনি মেমরির কিছু জায়গা সংরক্ষণ করেন।
var a = 42 // ভেরিয়েবল ঘোষিত var a: Int = 42 // আপনি ডেটা টাইপ নির্দিষ্ট করেও ভেরিয়েবল ঘোষণা করতে পারেন। আসুন খ = 32 // একটি ধ্রুবক মুদ্রণ ঘোষনা (ভেরিয়া)
তথ্যের ধরণ
অন্য কোনও প্রোগ্রামিং ভাষার মতো, সুইফ্ট অন্তর্নির্মিত ডেটা প্রকারগুলি সরবরাহ করে, যা আপনি নিম্নলিখিত সারণিতে উল্লেখ করতে পারেন:
প্রকার | সাধারণ বিট প্রস্থ | সাধারণ রেঞ্জ |
ইন্ট 8 | 1 বাইট | - 127 থেকে 127 |
UInt8 | 1 বাইট | 0 থেকে 255 পর্যন্ত |
ইন্ট 32 | 4 বাইট | -2147483648 থেকে 2147483647 |
UInt32 | 4 বাইট | 0 থেকে 4294967295 এ |
ইন্ট 64 | 8 বাইট | -9223372036854775808 থেকে 9223372036854775807 |
UInt64 | 8 বাইট | 0 থেকে 18446744073709551615 |
ভাসা | 4 বাইট | 1.2E-38 থেকে 3.4E + 38 (digit 6 সংখ্যা) |
দ্বিগুণ | 8 বাইট | 2.3E-308 থেকে 1.7E + 308 (d 15 ডিজিট) |
এখন, আমি আপনাকে এখানে একটি আকর্ষণীয় ঘটনা বলতে দিন।
সুইফটে, যখন আপনি কোনও ভেরিয়েবল ঘোষণা করেন, তখন আপনাকে অগত্যা তথ্য প্রকারের সংজ্ঞা দিতে হবে না।
সুতরাং, ধরুন আপনি একটি পরিবর্তনশীল ঘোষণা করেন declare var b = 'হাই' , তাহলে সুইফ্ট স্বয়ংক্রিয়ভাবে এটি বুঝতে হবে খ ইহা একটি স্ট্রিং আপনার দেওয়া ইনপুটটির উপর ভিত্তি করে ভেরিয়েবল টাইপ করুন।
টাইপ কাস্টিং
এখন আপনি এমনকি টাইপ রূপান্তর বা টাইপকাস্টিং সম্পাদন করতে পারেন।
উদাহরণস্বরূপ, আপনি পূর্ণসংখ্যা মানকে একটি ভাসমান মান এবং তদ্বিপরীতকে রূপান্তর করতে পারেন।
প্রাক্তন বিবেচনা করুননীচে যথেষ্ট:
যাক: ইন্টি = 5679 // 2 ধ্রুবককে ঘোষণা দিন বি: ফ্লোট = 2.9999 // ফ্লোটকে ইন্ট প্রিন্টে রূপান্তরিত করুন ('এই নম্বরটি এখন একটি ইন্টার (ইন্ট (বি))') // ইনটকে ফ্লোট প্রিন্টে রূপান্তর ('এটি নম্বরটি এখন ভাসমান (ভাসা (ক)) ”)
আউটপুট:
এই সংখ্যাটি এখন একটি ইন্ট 2 এই সংখ্যাটি এখন ভাসমান 56 5679৯.০
সুইফট টিউটোরিয়াল: অপারেটর
অপারেটরগুলি এমন কন্সট্রাক্টস যা অপারেন্ডগুলির মানগুলি পরিচালনা করতে পারে। 7 + 3 = 10 এর অভিব্যক্তিটি বিবেচনা করুন, এখানে 7 এবং 3 অপারেশন এবং + কে অপারেটর বলে।সুইফট নিম্নলিখিত ধরণের অপারেটরদের সমর্থন করে:
চিত্র 2: সুইফটে বিভিন্ন অপারেটর - সুইফট টিউটোরিয়াল
এখন, আমি গভীর ছেলেরা যাচ্ছি না, তবে আমাকে সুইফটে কয়েকটি সাধারণ ক্রিয়াকলাপ দেখায়। নীচের উদাহরণ বিবেচনা করুন:
মুদ্রণ ('5 + 3 = (5 + 3)') // সংযোজন মুদ্রণ ('5 - 3 = (5 - 3)') // বিয়োগ ছাপ ('5 * 3 = (5 * 3)') // গুণক মুদ্রণ ('5/3 = (5/3)') // বিভাগ মুদ্রণ ('5% 3 = (5% 3)') // মডুলাস
আউটপুট:
5 + 3 = 8 5 - 3 = 2 5 * 3 = 15 5/3 = 1 5% 3 = 2.3
ঠিক আছে!! এখন, আপনি ছেলেরা বেসিক অপারেটরগুলি জানেন, শর্তাধীন বিবৃতি দিয়ে শুরু করা যাক।
সুইফট টিউটোরিয়াল: শর্তাধীন বিবৃতি
শর্তসাপেক্ষ বিবৃতিগুলি যখন কোনও শর্ত সত্য হয় তখন একটি বিবৃতি বা বিবৃতিগুলির গোষ্ঠী কার্যকর করতে ব্যবহৃত হয়।তিনটি শর্তাধীন বিবৃতি আছে - যদি, অন্যথায় যদি এবং স্যুইচ করুন বিবৃতি।
সুতরাং, এখনই বিবৃতি দিয়ে শুরু করা যাক।
যদি বিবৃতি
একটি, যদি বিবৃতিটি কেবল একটি সাধারণ হতে পারে যদি বা বিবৃতি যদি বিবৃতি থাকে।
সুতরাং, একটি সহজ যদি বিবৃতি সর্বাধিক সাধারণ সিদ্ধান্ত গ্রহণের বিবৃতি যা কোনও নির্দিষ্ট বিবৃতি বা বক্তব্যগুলির ব্লক কার্যকর করা হবে কি না তা স্থির করে।
চিত্র 3: শর্তাধীন বিবৃতি যদি প্রবাহের চার্ট - সুইফ্ট টিউটোরিয়াল
নীচের উদাহরণ বিবেচনা করুন:
var x: int = 10 যদি x হয়<20 { print('x is less than 20') } print('Value of variable x is (x)')
আউটপুট:
x 20 এর চেয়ে কম ভেরিয়েবলের মান 10 হয়
নেস্টেড - যদি
এখন, নেস্টেড যদি যদি একটি বিবৃতি বা আইফ-স্টেটমেন্টের মধ্যে একটি বিবৃতি।
চিত্র 4: শর্তাধীন বিবৃতি যদি নেস্টেড এর ফ্লো চার্ট - সুইফ্ট টিউটোরিয়াল
নীচের উদাহরণ বিবেচনা করুন:
var x: int = 100 var y: int = 200 যদি x == 100 {মুদ্রণ ('প্রথম শর্তটি সন্তুষ্ট') যদি y == 200 {মুদ্রণ ('দ্বিতীয় শর্তটিও সন্তুষ্ট')}} মুদ্রণ ('এর মান ভেরিয়েবল এক্স হল (x) ') প্রিন্ট (' ভেরিয়েবলের মান হ'ল (y) ')
আউটপুট:
প্রথম শর্তটি সন্তুষ্ট দ্বিতীয় শর্ত সন্তুষ্ট হয় ভেরিয়েবল এক্স এর মান 100 ভেরিয়েবলের মান 200 হয়
যদি-অন্য বিবৃতি
যদি-অন্য বিবৃতি শর্তটি পরীক্ষা করে এবং শর্তটি মিথ্যা হয় তবে ‘অন্য’ বিবৃতি কার্যকর করা হয়।
চিত্র 5: যদি প্রবাহের চার্ট - অন্য শর্তাধীন বিবৃতি - সুইফ্ট টিউটোরিয়াল
নীচের উদাহরণ বিবেচনা করুন:
var x: int = 10 যদি x হয়<20 { print('x is less than 20') } else { print('x is not less than 20')} print('Value of variable x is (x)')
আউটপুট:
x কম 20
যদি-অন্য..অফ-অন্য (যদি-অন্য মই)
এখন, আপনি একটি করতে পারেন অন্যথায় যদি মইসুতরাং, যদি-অন্য-যদি মই ব্যবহারকারীকে একটি লুপের মধ্যে অন্য বিবৃতিগুলি ব্যবহার করতে দেয় এবং শর্তের একটিতে সত্যটি ধরে রাখলে বাকী লুপগুলি বাইপাস করা যায়।
চিত্র 6: যদি প্রবাহের চার্ট - অন্য মই শর্তাধীন বিবৃতি - সুইফ্ট টিউটোরিয়াল
নীচের উদাহরণ বিবেচনা করুন:
var x: int = 100 var y: int = 200 যদি xy {/ * শর্তটি সত্য হয় তবে নীচের * / মুদ্রণটি প্রিন্ট করুন ('x y এর চেয়ে বড়')} অন্যথায় {/ * শর্তটি মিথ্যা হলে নিম্নলিখিতটি মুদ্রণ করুন * / মুদ্রণ ('x এর সমান y')} মুদ্রণ ('পরিবর্তনশীল x এবং y এর মান হ'ল: (x) এবং (y)')
আউটপুট:
x এর y এর চেয়ে কম ভেরিয়েবলের মান এবং y এর মান: 100 এবং 200
এস জাদুকরী
স্যুইচ স্টেটমেন্টটি কোডের বিভিন্ন অংশে শর্তগুলি কার্যকর করার একটি সহজ উপায় সরবরাহ করে।
চিত্র 7: সুইচ শর্তাধীন বিবৃতি ফ্লো চার্ট - সুইফট টিউটোরিয়াল
নীচের উদাহরণ বিবেচনা করুন:
var a = 20 স্যুইচ সূচক {কেস 10: মুদ্রণ ('সূচকের মান 10') পতনের ক্ষেত্রে 15,20: মুদ্রণ ('সূচকের মান হয় 15 বা 20') পতনের ক্ষেত্রে 30: মুদ্রণ ('সূচকের মান হ'ল 30 ') ডিফল্ট: মুদ্রণ (' ডিফল্ট কেস ')}
আউটপুট:
সূচকের মান হয় 15 বা 20 সূচকের মান 30
এখন, যদি আপনি আউটপুটটি পর্যবেক্ষণ করেন, এমনকি আমাদের শর্তটি সন্তুষ্ট হওয়ার পরেও, আমরা পরবর্তী বিবৃতিটিও মুদ্রিত করছি। কারণ আমরা বিবৃতি ব্যবহার করছি ব্যর্থ হত্তয়া । সুতরাং, আপনি যদি ব্যবহার না করেন ব্যর্থ হত্তয়া বিবৃতি, তারপরে প্রোগ্রামটি বেরিয়ে আসবে সুইচ ম্যাচিং কেস স্টেটমেন্ট কার্যকর করার পরে বিবৃতি।
আপনার নিজের আইওএস অ্যাপ্লিকেশন তৈরিতে আগ্রহী ??এখন, পুনরাবৃত্তি লুপগুলিতে এগিয়ে যাওয়া যাক।
সুইফট টিউটোরিয়াল: আইট্রেটিভ লুপস
সাধারণভাবে, বিবৃতিগুলি ক্রমানুসারে কার্যকর করা হয়। ফাংশনে প্রথম বিবৃতিটি প্রথমে কার্যকর করা হয়, তারপরে দ্বিতীয়টি এবং আরও অনেক কিছু।এমন একটি পরিস্থিতি হতে পারে যখন আপনাকে বেশ কয়েকবার কোডের একটি ব্লক চালানো দরকার।
একটি লুপ স্টেটমেন্ট আমাদের বিবৃতি বা স্টেটমেন্টের গ্রুপকে একাধিকবার কার্যকর করতে সহায়তা করে। সুতরাং, পুনরাবৃত্তি লুপগুলি মূলত হয় এ জন্য , যখন এবং যখন না লুপ.
জন্য লুপ
অন লুপটি আইটেমের সংকলনের উপরে পুনরাবৃত্তি করে যেমন সংখ্যার ব্যাপ্তি, অ্যারের আইটেম বা স্ট্রিংয়ের অক্ষর।
চিত্র 8: লুপের ফ্লো চার্ট - সুইফট টিউটোরিয়াল
নীচের উদাহরণ বিবেচনা করুন:
আমি 1 এর জন্য ... 3 {মুদ্রণ ('হ্যালো ওয়ার্ল্ড! এবং আমার মান হ'ল (i)')}
আউটপুট:
ওহে বিশ্ব! এবং আমার মান 1 ওহে বিশ্ব! এবং আমার মান 2 হ্যালো ওয়ার্ল্ড! এবং আমার মান 3
যখন লুপ
একটি নির্দিষ্ট শর্তটি যতক্ষণ সত্য হয় ততক্ষণ সুইফ্ট প্রোগ্রামিং ভাষায় লুপ স্টেটমেন্ট বার বার টার্গেট স্টেটমেন্ট কার্যকর করে।
চিত্র 9: লুপের ফ্লো চার্ট - সুইফ্ট টিউটোরিয়াল
নীচের উদাহরণ বিবেচনা করুন:
চলতি চলমান: ইন্ট = 0 // ভেরিয়েবলগুলি চূড়ান্ত করুন চূড়ান্ত: অন্তঃ = 3 চলুন = সম্পূর্ণ হওয়ার সময় (বর্তমানের জন্য)<= final) // condition { //play game if Completed { print('You have passed the level (current)') current = current + 1 //statement to be executed if the condition is satisfied } } print('The while loop ends') //Statement executed after the loop ends
আউটপুট:
আপনি 0 স্তর পেরিয়েছেন আপনি স্তর 1 পেরিয়েছেন আপনি স্তর 2 পাস করেছেন আপনি 3 স্তর পাস করেছেন লুপ শেষ হয়
লুপ করার সময় করণীয় / পুনরাবৃত্তি করুন
লুপগুলির পক্ষে এবং যখন পৃথক হয়, যা লুপের শীর্ষে লুপের শর্ত পরীক্ষা করে, পুনরাবৃত্তি ... যখন লুপটি লুপটির নীচে তার অবস্থার পরীক্ষা করে।
চিত্র 10: লুফের প্রবাহের চার্ট - সুইফ্ট টিউটোরিয়াল
নীচের উদাহরণ বিবেচনা করুন:
var ভাল = 5 পুনরাবৃত্তি {মুদ্রণ ('মান হ'ল (ভাল)') ভাল = ভাল + 1 index যখন সূচক<10
আউটপুট:
মান 5 মান 6 মান 7 মান 8 মান 9
ঠিক আছে, বলছি! এটি লুপগুলির শেষ, এখন আসুন দ্রুত অ্যারে এবং টুপলেসে jump
সুইফট টিউটোরিয়াল: অ্যারে এবং টিপলস
অ্যারে
একটি অ্যারে এমন একটি ডেটা স্ট্রাকচার যা উপাদানগুলির একটি তালিকা থাকে। এই উপাদানগুলি একই ডেটা টাইপের সমস্ত যেমন কোনও পূর্ণসংখ্যা বা স্ট্রিং।সুতরাং, ধরুন আপনি যদি আপনার বন্ধুদের নাম সঞ্চয় করতে চান। আপনি নিম্নলিখিত হিসাবে একটি প্রোগ্রাম লিখতে পারেন:
var বন্ধুরা: অ্যারে = ['আকাশ', 'সঞ্জনা', 'অবিনাশ', 'স্বটি']
আপনি অ্যাপেন্ড () পদ্ধতিটি ব্যবহার করে অ্যারেতে নতুন উপাদান যুক্ত করতে পারেন। নীচের উদাহরণ দেখুন:
Friends.append ('আয়ুশি') মুদ্রণ (বন্ধু)
আউটপুট:
আকাশ সঞ্জনা অবিনাশ স্বতে আয়ুশি
টিপলস
টিপলস একক যৌগিক মানটিতে একাধিক মানকে গ্রুপ করতে ব্যবহৃত হয়। নীচের উদাহরণ বিবেচনা করুন:
var 4040 = (404, 'গেটওয়ে পাওয়া যায় নি') মুদ্রণ ('কোডটি (ব্যর্থতা 404.0)') মুদ্রণ করুন ('ত্রুটির সংজ্ঞাটি (ব্যর্থতা 404.1)') ভেরিফল 404 = (ব্যর্থতা কোড: 404, বর্ণনা: 'গেটওয়ে পাওয়া যায় নি') মুদ্রণ (ব্যর্থতা 404.faliureCode) // প্রিন্ট 404।
আউটপুট
কোডটি 404 ত্রুটির সংজ্ঞা গেটওয়ে পাওয়া যায় নি 404
ঠিক আছে, এখন আপনি ছেলেরা অ্যারে বুঝতে পেরেছেন, এখন সেট এবং অভিধান দিয়ে শুরু করার সময় এসেছে।
আইওএস বিকাশে সার্টিফিকেট পেতে চান ??সুইফট টিউটোরিয়াল: সেট এবং অভিধান
সেট
অ্যারেগুলির কোনও নির্দিষ্ট ক্রম ছাড়াই সেটগুলি একই ধরণের স্বতন্ত্র মান সংরক্ষণ করতে ব্যবহৃত হয়। সুতরাং, আপনি কোনও নকল মান নেই বা যদি উপাদানগুলির ক্রম কোনও সমস্যা না হয় তা নিশ্চিত করতে চান তবে আপনি অ্যারেগুলির পরিবর্তে সেটগুলি ব্যবহার করতে পারেন ।
একটি সেট কমা দ্বারা পৃথক করে কোঁকড়া ধনুর্বন্ধনী []] এর মধ্যে থাকা সমস্ত আইটেম (উপাদান) স্থাপন করে তৈরি করা হয়। নীচের উদাহরণ বিবেচনা করুন:
এমনকি সংখ্যায় দিন: সেট = [2,4,6,8,12]
এখন, আমি আপনাকে বলি যে আপনি ইউনিয়ন, ছেদ, বিয়োগ হিসাবে সেট অপারেশনও সম্পাদন করতে পারেন।
মিলন: A এবং B এর ইউনিয়ন উভয় সেট থেকে সমস্ত উপাদানগুলির একটি সেট। ইউনিয়ন ব্যবহার করে সঞ্চালিত হয় .মিলন() পদ্ধতি
আমি মাতাল: A এবং B এর ছেদ ছেঁড়া এমন উপাদানগুলির একটি সেট যা উভয় সেটে সাধারণ। একটি ছেদ ব্যবহার করে সঞ্চালিত হয় .মাংস () পদ্ধতি
বিয়োগ: A এবং B এর পার্থক্য (A - B) এমন একটি উপাদানগুলির সংকলন যা কেবল A তে থাকে তবে B তে হয় না Similarly একইভাবে, B - A উপাদানগুলির একটি সেট, যেমন B তে তবে A তে নয় A.নীচের কোডটি দেখুন:
যাক এমনকি সংখ্যা: সেট = [10,12,14,16,18,20] বিজোড় সংখ্যা: সেট = [5,7,9,11,13,15] প্রাইম নাম্বার: সেট = [2,3,5,7, 13,17,19] oddNumber.union (evenNumber) .ড্রোর্টড () oddNumber.intersکشن (evenNumber) .সোর্টড () অডনিম্বার.সুব্র্যাক্টিং (প্রাইম নাম্বার) .সোর্টড ()
আউটপুট:
[5,7,9,10,11,12,13,14,15,16,18,20] [] [9, 11, 15]
শব্দকোষ
অভিধানগুলি একই ধরণের মানগুলির নিরবচ্ছিন্ন তালিকাগুলি সঞ্চয় করতে ব্যবহৃত হয় এবং সুইফট আপনাকে অভিধানে কোনও ভুল টাইপ প্রবেশ করতে দেয় না।নীচের উদাহরণ বিবেচনা করুন।
একটি স্ক্লাইট ব্রাউজার কি
উদাহরণস্বরূপ: ডিক্ট: [ইন্ট: স্ট্রিং] = [1: 'এক', 2: 'দুই', 3: 'তিনটি'] // অভিধান তৈরি করছে ভ্যার অ্যাক্সেসওয়াল = উদাহরণ ডিক্ট [1] // এক্সেসিং ডিকশনারি ভ্যালু প্রিন্ট ('কী এর মান = 1 হ'ল (অ্যাক্সেসওয়াল ') মুদ্রণ (' কী এর মান 2 এর মান (উদাহরণ ডিক্ট [2]) ') মুদ্রণ (' কী এর মূলক 3 এর মান (উদাহরণস্বরূপ [3]) ')
আউটপুট:
কী = 1 এর মান ptionচ্ছিক ('এক') কী = 2 এর মান ptionচ্ছিক ('দুই') কী = 3 এর মান ptionচ্ছিক ('তিন')
সুইফট টিউটোরিয়াল: কার্যাদি
একটি ফাংশন মূলত একটি নির্দিষ্ট কাজ সম্পাদন করার জন্য একত্রিত হয়ে বিবৃতিগুলির একটি সেট। আপনি কোনও ফাংশন কল করতে পারেন, পরামিতিগুলির সাথে / ছাড়াই একটি ফাংশন রাখতে পারেন, রিটার্ন মানগুলির সাথে / ছাড়াই একটি ফাংশন রাখতে পারেন, ফাংশনের ধরণ থাকতে পারে এবং নেস্টেড ফাংশনও ব্যবহার করতে পারেন।কার্যকারিতা সংজ্ঞায়িত করতে এবং কল করতে কীভাবে তা বুঝতে নীচের উদাহরণটি দেখুন। নীচের উদাহরণ বিবেচনা করুন:
ফানক কর্মচারী (এমরনেম: স্ট্রিং) -> স্ট্রিং {// একটি ফাংশন রিটার্নের এম্পনেম সংজ্ঞায়িত করা} মুদ্রণ (কর্মচারী (নামকরণ: 'সায়ন্তিনী')) // কোনও ফাংশন প্রিন্টকে কল করা (কর্মচারী (আধ্যাত্মিক নাম: 'কিসলে'))
আউটপুট:
সায়ন্তিনী কিসলে
এখন, ব্লগের অর্থাত্ বন্ধ এবং কাঠামোগুলির পরবর্তী বিভাগে চলে আসা যাক।
সুইফট টিউটোরিয়াল: বন্ধকরণ এবং কাঠামো
বন্ধ
বন্ধগুলি সাধারণত সবাইকে বিভ্রান্ত করে তবে এগুলি কেবল স্ব-অন্তর্ভুক্ত কোডগুলি, যেমন ব্লক হিসাবে সংগঠিত ফাংশন। তারা বেনামে থাকতে পারে যেখানে ফাংশনের একটি ফাংশনের নাম থাকতে হয়। নীচের উদাহরণ বিবেচনা করুন।
যাক নাম = {মুদ্রণ ('সুইফট বন্ধে আপনাকে স্বাগতম')} নাম ()
আউটপুট:
সমাপ্তিতে স্বাগতম
কাঠামো
কাঠামোগত হিসাবে কনস্ট্রাক্টস ব্যবহারের যে কোনও কোডিং প্ল্যাটফর্ম ব্লকে সুইফট একটি নমনীয় বিল্ডিং সরবরাহ করে। এই কাঠামোগুলি ব্যবহার করে একবার নির্মাণ পদ্ধতি এবং বৈশিষ্ট্য সংজ্ঞায়িত করতে পারেন। নীচের উদাহরণ বিবেচনা করুন।কাঠামোগত কর্মচারী বিবরণ {// কোনও কাঠামোর সংজ্ঞা দেওয়া হচ্ছে var নাম = 'বব' var id = 11021 ভেরফোনেনমার্ব = 9876543210} বিশদ = কর্মচারী বিবরণ () // কাঠামো এবং বৈশিষ্ট্যগুলির মুদ্রণ অ্যাক্সেস করা ('কর্মচারীর নাম হ'ল (বিবরণ.নাম)') মুদ্রণ ('কর্মচারীর আইডি হ'ল (বিবরণ.আইডি)') প্রিন্ট ('কর্মচারীর ফোন নম্বর হ'ল (বিশদ.ফোনম্বর)')
আউটপুট:
কর্মচারীর নাম বব কর্মচারীর আইডি 11021 কর্মচারীর ফোন নম্বর 9876543210
এখন, আপনি ছেলেরা স্ট্রাকচারগুলি বুঝতে পেরেছেন, আসুন ক্লাস এবং উত্তরাধিকারটি বুঝতে দিন।
সুইফট টিউটোরিয়াল: শ্রেণি ও উত্তরাধিকার
ক্লাস
সুইফ্টের ক্লাসগুলি মূলত নমনীয় কনস্ট্রাক্টসের বিল্ডিং ব্লক। সুতরাং, ধ্রুবক, ভেরিয়েবল এবং ফাংশনগুলির মতো ব্যবহারকারী শ্রেণীর বৈশিষ্ট্য এবং পদ্ধতিগুলি সংজ্ঞায়িত করতে পারে।
বর্গ বিবরণ স্ট্রাক্ট {// শ্রেণীর বর্ণের আইডি সংজ্ঞায়িত: আইএনটি এনএম (আইডি: ইন্টি) {স্ব.আইডি = আইডি}} শ্রেণীর ছাত্রের বিবরণ {ভেরি আইডি = 125612 stud স্টুডেন্টেড = ছাত্রের বিবরণ () প্রিন্ট করুন ('ছাত্র আইডি হ'ল (স্টাডেন্টড.আইডি ) ')
আউটপুট:
শিক্ষার্থীর আইডি 125612
উত্তরাধিকার
উত্তরাধিকার হ'ল বিদ্যমান ক্লাস থেকে নতুন ক্লাস তৈরির প্রক্রিয়া। উদ্ভূত শ্রেণি উত্তরাধিকার বেস ক্লাসের সমস্ত ক্ষমতা এবং এর নিজস্ব কার্যকারিতাও যুক্ত করতে পারে।
শ্রেণিগুলিকে আরও শ্রেণিবদ্ধ করা যেতে পারে সাবক্লাস এবং সুপারক্লাস ।
সাবক্লাস: যদি কোনও শ্রেণি অন্য শ্রেণীর বৈশিষ্ট্য, পদ্ধতি এবং ফাংশন উত্তরাধিকার সূত্রে প্রাপ্ত হয়, তবে এটিকে সাবক্লাস হিসাবে ডাকা হয়।
সুপারক্লাস : অন্য শ্রেণীর নিজের থেকে উত্তরাধিকার সূত্রে অংশ নিতে সম্পত্তি, পদ্ধতি এবং ফাংশন সহ এমন একটি শ্রেণিকে বলা হয় সুপারক্লাস। নীচের উদাহরণ বিবেচনা করুন।
শ্রেণীর কর্মচারী বিবরণসমূহ {ভের আইডি: ইন্ট ভার নম্বর: আইএনটি এনটি (বিস্তারিত 1: ইনট, বিস্তারিত 2: ইনট) {আইডি = বিশদ 1 সংখ্যা = বিশদ 2} ফানক মুদ্রণ () {মুদ্রণ ('কর্মচারী আইডি হ'ল: (আইডি), কর্মচারীর ফোন নম্বরটি: (সংখ্যা) ') display} শ্রেণি প্রদর্শন: কর্মচারী বিবরণ {init () {সুপার.initit (বিশদ 1: 94567, বিশদ 2: 9876543210) // সুপার কীওয়ার্ডটি সুপার বর্গ থেকে পরামিতিগুলি এবং পদ্ধতিগুলি কল করতে ব্যবহৃত হয়} employee কর্মচারীকরণ = প্রদর্শন করুন (প্রদর্শন করুন) ) কর্মচারী তথ্য.প্রিন্ট ()
আউটপুট:
কর্মচারী আইডি হ'ল94567, কর্মচারীর ফোন নম্বরটি9876543210
এখন, যে আপনারা সুইফটের মূল ধারণাগুলি সম্পর্কে ধারণা পেয়েছেন। আসুন এখন প্রোটোকলস, এক্সটেনশনগুলি, জেনারিক্স এবং গণনাগুলির মতো বর্ধিত বিষয়গুলি শিখতে শুরু করি।
সুইফট টিউটোরিয়াল: প্রোটোকল
প্রোটোকলগুলি পদ্ধতি, বৈশিষ্ট্য এবং অন্যান্য প্রয়োজনীয়তা কার্যকারিতার জন্য অন্যান্য ভাষায় ইন্টারফেসের মতো। নীচের উদাহরণ বিবেচনা করুন:প্রোটোকল ফ্লাই {ভরি ফ্লাইস: বুল set সেট} ফানক ফ্লাইয়েবল (মাইলকোভারড: ডাবল) -> স্ট্রিং} শ্রেণীর যানবাহন: উড়ান {var ফ্লাইস: বুল = মিথ্যা বর্ণের নাম: স্ট্রিং = 'ডিফল্ট নাম' ফান্ক ফ্লাইয়েবল (মাইলসওয়ার্ড: ডাবল) - > স্ট্রিং {যদি (স্ব.ফ্লাইস) {রিটার্ন '(স্বতঃ নাম) ফ্লাই (মাইলকোভার্ড) মাইল'} অন্য {রিটার্ন '(স্ব.নাম) উড়তে পারে না'}}} var BMWX1 = যানবাহন () BMWX1.name = ' BMW X1 'BMWX1.flies = মিথ্যা মুদ্রণ (BMWX1.flyable (34))আউটপুট:
বিএমডাব্লু এক্স 1 উড়তে পারে না
সুইফট টিউটোরিয়াল: এক্সটেনশনগুলি
এক্সটেনশনগুলি মূলত একটি বিদ্যমান শ্রেণি, কাঠামো বা গণনার ধরণের কার্যকারিতা যুক্ত করতে ব্যবহৃত হয়। এক্সটেনশনের সাহায্যে আপনি গণিত বৈশিষ্ট্য এবং গণিত প্রকারের বৈশিষ্ট্য যুক্ত করতে পারেন, নতুন নেস্টেড প্রকারগুলি সংজ্ঞায়িত ও ব্যবহার করতে পারেন, উদাহরণ এবং টাইপ পদ্ধতি সংজ্ঞায়িত করতে পারেন, নতুন আরম্ভকারী সরবরাহ করতে পারেন, সাবস্ক্রিপ্ট সংজ্ঞায়িত করতে পারেন এবং একটি বিদ্যমান টাইপ একটি প্রোটোকলের সাথে সামঞ্জস্য করতে পারেন।
নীচের উদাহরণ বিবেচনা করুন:
এক্সটেনশন ইন্ট {ভার অ্যাড: ইন্ট {রিটার্নেল্ফ + 10} ভারসুব্র্যাক্ট: ইন্ট {রিটার্নসেল্ট- 34} ভেরি গুণ: ইন {রিটার্নেল্ফ * 5} ভরা বিভাজন: ইন্ট self রিটার্নেল্ফ / 5}} যোজন = 3 অ্যাড প্রিন্ট ('মান যোগ করার পরে (যোগ) ') বিয়োগ করা যাক = 120. সাবট্রাক্ট প্রিন্ট (' বিয়োগের পরে মানটি (বিয়োগ)) 'গুণন = 25. বহুগুণে মুদ্রণ করুন (' মানটি বিকৃত হয় (গুণ) ') বিভাজন = 55 .বিভাজনীয় মুদ্রণ ('বিভাগের পরে মান (বিভাগ)') মিশ্রণ = 10.add + 34. সাবট্রাক্ট প্রিন্ট ('গণনা করা মান হ'ল (মিশ্রণ'))
আউটপুট:
যোগ করার পরে মান 13 হয় বিয়োগের পরে মানটি 86 মানটি হচ্ছে 125 বিভাগের পরে মানটি 10 মান গণনা করা হয় 20
সুইফট টিউটোরিয়াল: জেনারিক্স
জেনেরিক প্রকারগুলি নমনীয় এবং পুনরায় ব্যবহারযোগ্য ফাংশন এবং প্রকারগুলি লিখতে ব্যবহৃত হয়। সুতরাং, সদৃশ এড়াতে জেনেরিকগুলি ব্যবহার করতে পারেন। নীচের উদাহরণ বিবেচনা করুন:
ফানক অদলবদল (এক্স: ইনআউট টি, ওয়াই: ইনআউট টি) = আসুন টেম্প = এক্সএক্স = ইয়ি = টেম্প} ওয়ার স্ট্র = = হ্যালো 'ওয়ার স্ট্রিম =' এডুরেকা 'প্রিন্ট (' স্ট্র্যাপের মানগুলি সোয়াপিংয়ের আগে হ'ল: (আরআর 1) এবং (স্ট্র্যাপ 2 ) ') অদলবদল (x: & str1, y: & str2) মুদ্রণ (' স্টেপিংয়ের পরে স্ট্রিংয়ের মানগুলি হ'ল: (str1) এবং (str2) ') var num1 = 1996 var num2 = 1865 মুদ্রণ (' স্ব্যাপিং এর পূর্বে মানগুলি হ'ল: (num1 ) এবং (num2) ') অদলবদল (x: & num1, y: & num2) মুদ্রণ (' সোয়াপিংয়ের পরে মানগুলি হ'ল: (num1) এবং (num2) ')
আউটপুট:
অদলবদলের স্ট্রিংয়ের মানগুলি হ'ল: হ্যালো এবং এডুরেকা অদলবদলের পরে স্ট্রিংয়ের মানগুলি হ'ল: এডুরেকা এবং হ্যালো অদলবদলের আগে স্ট্রিংয়ের মানগুলি হ'ল: 1996 এবং 1865 অদলবদলের পরে স্ট্রিংয়ের মানগুলি হ'ল: 1865 এবং 1996
সুইফট টিউটোরিয়াল: গণনা
সাধারণ পদগুলিতে একটি গণনা একটি ব্যবহারকারী-সংজ্ঞায়িত ডেটা টাইপ যা সম্পর্কিত মানগুলির একটি সেট নিয়ে গঠিত। কীওয়ার্ড এনাম গণিত ডেটা ধরণের সংজ্ঞা দিতে ব্যবহৃত হয়। নীচের উদাহরণ বিবেচনা করুন:
এনাম রঙ: ইন্ট {কেস নীল কেস সবুজ কেস লাল কেস হলুদ বর্ণ () {স্ব = .আর get ফান গেটডেটেলস () -> স্ট্রিং {সুইচ (স্ব) {কেস l ব্লু: রিটার্ন 'কালার ইজ ব্লু' কেস g গ্রীন: রিটার্ন 'কালার সবুজ' কেস। রেড: রিটার্ন 'কালার হ'ল লাল' কেস। হাই: রিটার্ন 'কালার হলুদ' ডিফল্ট: রিটার্ন 'কালার পাওয়া যায় নি'}}} var সিলেক্ট কালার = কালার প্রিন্ট (সিলেক্ট কালার.আরওভ্যালু) ভেরু কালার = কালার .গ্রিন প্রিন্ট (ফেওলক্লোর.আরওয়ালভ্যালু) যদি (ফ্যাভ কালার == কালার এগ্রিন) {প্রিন্ট ('প্রিয় রঙ সবুজ')} মুদ্রণ (ফেভারক্লোর.জেট বিবরণ ())
আউটপুট:
ঘ এক প্রিয় রঙ সবুজ সবুজ
আমি আশা করি আপনি এই সুইফট টিউটোরিয়ালটি পড়ে উপভোগ করেছেন। আমরা সুইফটের সমস্ত বুনিয়াদি কভার করেছি, সুতরাং আপনি এখন অনুশীলন শুরু করতে পারেন।
বিভিন্ন অ্যাপ্লিকেশন সহ সুইফটে গভীরতর জ্ঞান অর্জন করতে, আপনি এটি করতে পারেন 24/7 সমর্থন এবং আজীবন অ্যাক্সেস সহ লাইভ অনলাইন প্রশিক্ষণের জন্য।
শিল্প স্তরের বিশেষজ্ঞদের কাছ থেকে শিখুনআমাদের জন্য একটি প্রশ্ন আছে? তাদের মন্তব্য বিভাগে উল্লেখ করুন “ সুইফট টিউটোরিয়াল ”এবং আমরা আপনার কাছে ফিরে আসব।