Swift Language ट्यूटोरियल
स्विफ्ट लैंग्वेज के साथ शुरुआत करना
खोज…
टिप्पणियों
स्विफ्ट एक एप्लीकेशन और सिस्टम प्रोग्रामिंग लैंग्वेज है जिसे Apple द्वारा विकसित किया गया है और इसे ओपन सोर्स के रूप में वितरित किया गया है । ऐप्पल के मैकओएस, आईओएस, टीवीओएस और वॉचओएस ऑपरेटिंग सिस्टम के लिए ऑब्जेक्टिव-सी और कोको / कोको टच एपीआई के साथ स्विफ्ट इंटरऑपरेट करता है। स्विफ्ट वर्तमान में macOS और लिनक्स का समर्थन करता है। Android, Windows और अन्य प्लेटफ़ॉर्म का समर्थन करने के लिए सामुदायिक प्रयास जारी हैं।
GitHub पर स्विफ्ट का विकास होता है ; योगदान आमतौर पर पुल अनुरोधों के माध्यम से प्रस्तुत किए जाते हैं।
कीड़े और अन्य मुद्दों को bugs.swift.org पर ट्रैक किया गया है ।
स्विफ्ट मेलिंग सूचियों पर स्विफ्ट के विकास, विकास और उपयोग के बारे में चर्चा होती है।
अन्य संसाधन
- स्विफ्ट (प्रोग्रामिंग भाषा) (विकिपीडिया)
- स्विफ्ट प्रोग्रामिंग लैंग्वेज (ऑनलाइन)
- स्विफ्ट मानक पुस्तकालय संदर्भ (ऑनलाइन)
- एपीआई डिजाइन दिशानिर्देश (ऑनलाइन)
- स्विफ्ट प्रोग्रामिंग सीरीज़ (iBooks)
- ... और developer.apple.com पर अधिक ।
संस्करण
स्विफ्ट संस्करण | Xcode संस्करण | रिलीज़ की तारीख |
---|---|---|
विकास शुरू हुआ ( पहले प्रतिबद्ध ) | - | 2010-07-17 |
1.0 | Xcode 6 | 2014-06-02 |
1.1 | Xcode 6.1 | 2014-10-16 |
1.2 | एक्सकोड 6.3 | 2015-02-09 |
2.0 | Xcode 7 | 2015/06/08 |
2.1 | Xcode 7.1 | 2015/09/23 |
ओपन-सोर्स डेब्यू | - | 2015/12/03 |
2.2 | एक्सकोड 7.3 | 2016/03/21 |
2.3 | Xcode 8 | 2016/09/13 |
3.0 | Xcode 8 | 2016/09/13 |
3.1 | Xcode 8.3 | 2017/03/27 |
आपका पहला स्विफ्ट कार्यक्रम
अपना कोड hello.swift
नामक फ़ाइल में लिखें:
print("Hello, world!")
- एक स्क्रिप्ट को एक चरण में संकलित करने और चलाने के लिए, टर्मिनल से
swift
उपयोग करें (एक निर्देशिका में जहां यह फ़ाइल स्थित है):
टर्मिनल लॉन्च करने के लिए, लिनक्स पर CTRL + ALT + T दबाएँ या इसे MacOS पर लॉन्चपैड में खोजें। निर्देशिका बदलने के लिए,
cd
directory_name
दर्ज करें (याcd ..
वापस जाने के लिए)
$ swift hello.swift Hello, world!
एक कंपाइलर एक कंप्यूटर प्रोग्राम (या कार्यक्रमों का एक सेट) है जो एक प्रोग्रामिंग भाषा (स्रोत भाषा) में लिखे गए स्रोत कोड को दूसरी कंप्यूटर भाषा (लक्ष्य भाषा) में बदल देता है, जिसमें बाद वाला अक्सर बाइनरी फॉर्म होता है जिसे ऑब्जेक्ट कोड के रूप में जाना जाता है। ( विकिपीडिया )
- अलग से संकलित करने और चलाने के लिए,
swiftc
उपयोगswiftc
:
$ swiftc hello.swift
यह आपके कोड को hello
फ़ाइल में संकलित करेगा। इसे चलाने के लिए, दर्ज करें ./
, एक फ़ाइल नाम के बाद।
$ ./hello Hello, world!
- या कमांड लाइन से
swift
से टाइप करके, REPL (रीड-एवल-प्रिंट-लूप) का उपयोग करें, फिर दुभाषिया में अपना कोड दर्ज करें:
कोड:
func greet(name: String, surname: String) { print("Greetings \(name) \(surname)") } let myName = "Homer" let mySurname = "Simpson" greet(name: myName, surname: mySurname)
चलिए इस बड़े कोड को टुकड़ों में तोड़ते हैं:
func greet(name: String, surname: String) { // function body }
- एक फ़ंक्शन बनाएं जो एकname
औरsurname
लेता है।
print("Greetings \(name) \(surname)")
- यह कंसोल को" ग्रीटिंग्स ", फिरname
, फिरsurname
। मूल रूप से\(
variable_name
)
उस चर के मूल्य को प्रिंट करता है।
let myName = "Homer"
औरlet mySurname = "Simpson"
- नाम के साथlet
:myName
,mySurname
और मान:"Homer"
,"Simpson"
का उपयोग करके स्थिरांक (वे चर जो आप नहीं बदल सकते हैं)myName
।
greet(name: myName, surname: mySurname)
- एक फ़ंक्शन को कॉल करता है जिसे हमने पहले स्थिरांकmyName
,mySurname
के मूल्यों की आपूर्ति करते हुए बनाया था।
REPL का उपयोग करके इसे चलाना:
$ swift Welcome to Apple Swift. Type :help for assistance. 1> func greet(name: String, surname: String) { 2. print("Greetings \(name) \(surname)") 3. } 4> 5> let myName = "Homer" myName: String = "Homer" 6> let mySurname = "Simpson" mySurname: String = "Simpson" 7> greet(name: myName, surname: mySurname) Greetings Homer Simpson 8> ^D
REPL से छोड़ने के लिए CTRL + D दबाएँ ।
स्विफ्ट स्थापित करना
सबसे पहले, कंपाइलर और घटकों को डाउनलोड करें।
इसके बाद, स्विफ्ट को अपने पथ पर जोड़ें। MacOS पर, डाउनलोड करने योग्य टूलचैन के लिए डिफ़ॉल्ट स्थान / लाइब्रेरी / डेवलपर / टूलचिन है। टर्मिनल में निम्नलिखित कमांड चलाएँ:
export PATH=/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin:"${PATH}"
लिनक्स पर, आपको क्लैंग स्थापित करने की आवश्यकता होगी:
$ sudo apt-get install clang
यदि आपने स्विफ्ट टूलचैन को सिस्टम रूट के अलावा किसी निर्देशिका में स्थापित किया है, तो आपको अपने स्विफ्ट इंस्टॉलेशन के वास्तविक पथ का उपयोग करके निम्नलिखित कमांड को चलाना होगा:
$ export PATH=/path/to/Swift/usr/bin:"${PATH}"
आप इस कमांड को चलाकर सत्यापित कर सकते हैं कि आपके पास स्विफ्ट का वर्तमान संस्करण है:
$ swift --version
मैक पर स्विफ्ट (प्लेग्राउंड का उपयोग करके) में आपका पहला कार्यक्रम
अपने मैक से, इस लिंक के बाद मैक ऐप स्टोर से Xcode डाउनलोड और इंस्टॉल करें ।
स्थापना पूर्ण होने के बाद, Xcode खोलें और एक Playground के साथ आरंभ करें चुनें:
अगले पैनल पर, आप अपने प्लेग्राउंड को एक नाम दे सकते हैं या आप इसे MyPlayground
छोड़ सकते हैं और अगला दबा सकते हैं:
उस स्थान का चयन करें जहाँ खेल का मैदान बचा है और बनाएँ दबाएं:
खेल का मैदान खुल जाएगा और आपकी स्क्रीन कुछ इस तरह दिखनी चाहिए:
अब जब प्लेग्राउंड स्क्रीन पर है, डिबग एरिया दिखाने के लिए cm + cmd + Y दबाएं।
अंत में प्लेग्राउंड के अंदर के टेक्स्ट को हटाएं और टाइप करें:
print("Hello world")
आपको डेबग एरिया में 'हैलो वर्ल्ड' देखना चाहिए और राइट साइडबार में "हैलो वर्ल्ड \ n":
बधाई हो! आपने स्विफ्ट में अपना पहला कार्यक्रम बनाया है!
IPad पर स्विफ्ट प्लेग्राउंड ऐप में आपका पहला कार्यक्रम
स्विफ्ट प्लेग्राउंड्स ऐप एक शानदार तरीका है, जिससे स्विफ्ट को चलते-फिरते कोडित किया जा सकता है। इसके प्रयेाग के लिए:
1- ऐप स्टोर से iPad के लिए स्विफ्ट प्लेग्राउंड डाउनलोड करें।
2- ऐप खोलें।
3- माई प्लेग्राउंड्स टैब में, ऊपर बाएं कोने पर + टैप करें और फिर ब्लैंक टेम्पलेट चुनें।
4- अपना कोड दर्ज करें।
5- अपना कोड चलाने के लिए माय कोड को टैप करें।
6- प्रत्येक पंक्ति के सामने, परिणाम एक छोटे वर्ग में संग्रहीत किया जाएगा। परिणाम प्रकट करने के लिए इसे टैप करें।
7- इसे ट्रेस करने के लिए कोड के माध्यम से धीरे-धीरे कदम बढ़ाने के लिए, Run My Code के आगे वाले बटन पर टैप करें।
वैकल्पिक मूल्य और वैकल्पिक एनम
वैकल्पिक प्रकार, जो एक मूल्य की अनुपस्थिति को संभालता है। वैकल्पिक का कहना है कि या तो "एक मूल्य है, और यह x के बराबर है" या "वहाँ एक मूल्य नहीं है"।
एक वैकल्पिक अपने आप में एक प्रकार है, वास्तव में स्विफ्ट की नई सुपर-संचालित दुश्मनी में से एक है। इसके दो संभावित मूल्य हैं, None
और Some(T)
, जहां टी स्विफ्ट में उपलब्ध सही डेटा प्रकार का एक संबद्ध मूल्य है।
आइए उदाहरण के लिए कोड के इस टुकड़े पर एक नज़र डालें:
let x: String? = "Hello World"
if let y = x {
print(y)
}
वास्तव में यदि आप ऊपर के कोड में एक print(x.dynamicType)
स्टेटमेंट जोड़ते हैं, तो आप इसे कंसोल में देखेंगे:
Optional<String>
स्ट्रिंग? ऑप्शनल के लिए वास्तव में सिंथैटिक शुगर है, और ऑप्शनल अपने आप में एक प्रकार है।
यहाँ वैकल्पिक के शीर्ष लेख का सरलीकृत संस्करण है, जिसे आप XTE से अपने कोड में वैकल्पिक शब्द पर कमांड-क्लिक करके देख सकते हैं:
enum Optional<Wrapped> {
/// The absence of a value.
case none
/// The presence of a value, stored as `Wrapped`.
case some(Wrapped)
}
वैकल्पिक वास्तव में एक एनुम है, जिसे जेनेरिक टाइप रैप्ड के संबंध में परिभाषित किया गया है। यह दो मामलों है: .none
एक मूल्य के अभाव का प्रतिनिधित्व करने के लिए, और .some
एक मूल्य है, जो लिपटा प्रकार के इससे संबंधित मूल्य के रूप में संग्रहीत किया जाता है की उपस्थिति का प्रतिनिधित्व करने के लिए।
मुझे इसके माध्यम से फिर से जाने दो: String?
एक String
नहीं है, लेकिन एक Optional<String>
। तथ्य यह है कि Optional
एक प्रकार का मतलब है कि इसके अपने तरीके हैं, उदाहरण के लिए map
और flatMap
map
।