Μάθετε τα βασικά του Swift σε λιγότερο από δέκα λεπτά

Το Swift είναι μια σχετικά νέα γλώσσα προγραμματισμού που σχεδιάστηκε από την Apple Inc, η οποία διατέθηκε αρχικά στους προγραμματιστές της Apple το 2014.

Προοριζόταν κυρίως ως αντικατάσταση της γήρανσης της γλώσσας Objective-C που αποτέλεσε το θεμέλιο της ανάπτυξης λογισμικού OS X και iOS εκείνη την εποχή. Έγινε ανοιχτού κώδικα τον Δεκέμβριο του 2015.

Ενώ παραμένει πρωταρχικά χρησιμοποιείται από προγραμματιστές που στοχεύουν τις πλατφόρμες macOS και iOS της Apple, το Swift υποστηρίζεται επίσης πλήρως σε Linux και υπάρχουν επίσης ανεπίσημες θύρες για Windows.

Σε αντίθεση με πολλές αντικειμενοστρεφείς γλώσσες, οι οποίες βασίζονται σε παλαιότερες διαδικαστικές γλώσσες - για παράδειγμα, το C ++ και το Objective-C βασίζονται σε C - Το Swift σχεδιάστηκε από την αρχή ως μια νέα, μοντέρνα, αντικειμενοστραφής γλώσσα που καθιστά τον προγραμματισμό πιο γρήγορο και ευκολότερο και βοηθά τους προγραμματιστές να παράγουν εκφραστικό κώδικα που είναι λιγότερο επιρρεπές σε σφάλματα από πολλές γλώσσες.

Αν και δεν βασίζεται σε μια παλαιότερη γλώσσα, ο Swift, όπως είπε ο αρχιτέκτονας του, Chris Lattner, « εμπνεύστηκε από την κατάρτιση ιδεών από τους Ruby, Python, C #, CLU και πάρα πολλούς άλλους για να τα καταγράψει »

Σε αυτό το μάθημα γρήγορης συντριβής, θα καλύψουμε τις βασικές αρχές της χρήσης της γλώσσας προγραμματισμού Swift. Θα μάθετε:

  • Βασική σύνταξη Swift
  • Γρήγορη δομή προγράμματος
  • Μεταβλητές και σταθερές
  • Πληκτρολογήστε συμπεράσματα
  • Μεταβλητές και σταθερές συμβάσεις ονομασίας
  • Εκτύπωση και παρεμβολή συμβολοσειρών

Ας αρχίσουμε!

Αυτό το μάθημα συντριβής προσαρμόζεται από το πλήρες μάθημα Beginning Swift της Next Tech, το οποίο περιλαμβάνει ένα περιβάλλον με sandbox στο πρόγραμμα περιήγησης με προεγκατεστημένο το Swift. Έχει επίσης πολλές δραστηριότητες για να ολοκληρώσετε. Μπορείτε να το δείτε δωρεάν εδώ!

Σύνταξη Swift

Σε αυτήν την πρώτη ενότητα, θα δούμε τη βασική σύνταξη γλώσσας για το Swift.

Όπως πολλές σύγχρονες γλώσσες προγραμματισμού, το Swift αντλεί την πιο βασική σύνταξή του από τη γλώσσα προγραμματισμού Γ. Εάν έχετε προηγούμενη εμπειρία προγραμματισμού σε άλλες γλώσσες εμπνευσμένες από C, πολλές πτυχές του Swift θα φαίνονται οικείες, για παράδειγμα:

  • Τα προγράμματα αποτελούνται από δηλώσεις, εκτελούνται διαδοχικά.
  • Επιτρέπονται περισσότερες από μία δηλώσεις ανά γραμμή προγράμματος επεξεργασίας όταν διαχωρίζονται με ερωτηματικό ( ;).
  • Οι μονάδες εργασίας στο Swift διαμορφώνονται χρησιμοποιώντας λειτουργίες και οργανώνονται σε τύπους.
  • Οι συναρτήσεις δέχονται μία ή περισσότερες παραμέτρους και επιστρέφουν τιμές.
  • Τα μονό και πολλαπλά σχόλια ακολουθούν την ίδια σύνταξη όπως στο C ++ και Java.
  • Τα ονόματα και η χρήση ταχείων τύπων δεδομένων είναι παρόμοια με αυτά στα Java, C # και C ++.
  • Το Swift έχει την έννοια των ονομαστικών μεταβλητών, οι οποίες είναι μεταβλητές, και ονομάζονται σταθερές, οι οποίες είναι αμετάβλητες.
  • Το Swift έχει τόσο σημασιολογική δομή όσο και τάξη, όπως και τα C ++ και C #.

Ωστόσο, το Swift έχει κάποιες βελτιώσεις και διαφορές από γλώσσες εμπνευσμένες από C που μπορεί να χρειαστεί να εξοικειωθείτε, όπως:

  • Τα ερωτηματικά δεν απαιτούνται στο τέλος των δηλώσεων - εκτός εάν χρησιμοποιούνται για το διαχωρισμό πολλαπλών δηλώσεων που πληκτρολογούνται στην ίδια γραμμή σε ένα αρχείο προέλευσης.
  • Το Swift δεν έχει καμία main()μέθοδο να χρησιμεύσει ως σημείο εκκίνησης του προγράμματος όταν το λειτουργικό σύστημα φορτώνει την εφαρμογή. Τα γρήγορα προγράμματα ξεκινούν από την πρώτη γραμμή κώδικα του αρχείου προέλευσης του προγράμματος - όπως συμβαίνει στις περισσότερες ερμηνευμένες γλώσσες.
  • Οι συναρτήσεις στο Swift τοποθετούν τον τύπο επιστροφής λειτουργίας στη δεξιά πλευρά της δήλωσης συνάρτησης και όχι στα αριστερά.
  • Η σύνταξη δήλωσης παραμέτρων συνάρτησης εμπνέεται από το Objective-C, το οποίο είναι αρκετά διαφορετικό και συχνά προκαλεί σύγχυση για προγραμματιστές Java, C # και C ++.
  • Η διαφορά μεταξύ ενός struct και μιας κλάσης στο Swift είναι παρόμοιο με αυτό που έχουμε στο C # (τύπος τιμής έναντι τύπου αναφοράς), αλλά όχι το ίδιο όπως στο C ++ (και τα δύο είναι τα ίδια, εκτός από τα μέλη του δομ. Είναι δημόσια από προεπιλογή).

Δομή προγράμματος Swift - Hello, World!

Για να απεικονίσουμε τη βασική δομή ενός προγράμματος Swift, ας δημιουργήσουμε ένα απλό πρόγραμμα Swift για να εμφανιστεί η συμβολοσειρά Hello, World.στην κονσόλα:

[Out:]Hello, World
Εάν χρησιμοποιείτε το sandbox της Next Tech, μπορείτε να ακολουθήσετε τα αποσπάσματα κώδικα σε αυτό το μάθημα σφαλμάτων πληκτρολογώντας απλώς τον επεξεργαστή. Διαφορετικά, μπορείτε να ακολουθήσετε το δικό σας IDE - απλώς βεβαιωθείτε ότι το Swift είναι εγκατεστημένο!

Συγχαρητήρια! Σε δύο γραμμές κώδικα, μόλις γράψατε το πρώτο σας πλήρως λειτουργικό πρόγραμμα Swift.

Τώρα, ας προχωρήσουμε στη μάθηση και τη χρήση της γλώσσας Swift - και αναλύουμε κάθε μέρος του Hello Worldπρογράμματος σας !

Swift μεταβλητές

Σχεδόν όλες οι γλώσσες προγραμματισμού περιλαμβάνουν τη δυνατότητα των προγραμματιστών να αποθηκεύουν τιμές στη μνήμη χρησιμοποιώντας ένα σχετικό όνομα που έχει επιλέξει ο προγραμματιστής. Οι μεταβλητές επιτρέπουν στα προγράμματα να λειτουργούν σε τιμές δεδομένων που αλλάζουν κατά την εκτέλεση του προγράμματος.

Μια δήλωση μεταβλητής Swift χρησιμοποιεί την ακόλουθη βασική σύνταξη:

var : t; =

Given this syntax, a legal declaration for a variable called pi would be:

This declaration means: “create a variable named pi , which stores a Doubledata type, and assign it an initial value of 3.14159”.

Swift Constants

You may want to store a named value in your program that will not change during the life of the program. How can we ensure that, once defined, this named value can never be accidentally changed by our code? By declaring a constant!

In our earlier Hello, World program, we declared message using let instead of var — therefore, message is a constant.

Since message was declared as a constant, if we added the following line of code to the end of our program, we would receive a compile-time error, since changing a let constant is illegal:

[Out:]error: cannot assign to value: ‘message’ is a ‘let’ constant

Generally, any time you create a named value that will never be changed during the run of your program, you should use the let keyword to create a constant. The Swift compiler enforces this recommendation by creating a compile-time warning whenever a var is created that is not subsequently changed.

Other than the restriction on mutating the value of a constant once declared, Swift variables and constants are used in virtually identical ways.

Type Inference

In our Hello World example, we created the constant message without specifying its data type. We took advantage of a Swift compiler feature called type inference.

When you assign the value of a variable or constant as you create it, the Swift compiler will analyze the right-hand side of the assignment, infer the data type, and assign that data type to the variable or constant you’re creating. For example, in the following declaration, the compiler will create the variable name as a String data type:

As a type-safe language, once a data type is inferred by the compiler, it remains fixed for the life of the variable or constant. Attempting to assign a non-string value to the name variable declared above would result in a compile-time error:

[Out:]error: “cannot assign value of type ‘Double’ to type ‘String’

While Swift is a type-safe language, where variable types are explicit and do not change, it is possible to create Swift code that behaves like a dynamic type language using the Swift Any data type. For example, the following code is legal in Swift:

While this is legal, it’s not a good Swift programming practice. The Any type is mainly provided to allow bridging between Objective-C and Swift code. To keep your code as safe and error-free as possible, you should use explicit types wherever possible.

Variable Naming Conventions

Swift variables and constants have the same naming rules as most C-inspired programming languages:

  • Must not start with a digit
  • After the first character, digits are allowed
  • Can begin with and include an underscore character
  • Symbol names are case sensitive
  • Reserved language keywords may be used as variable names if enclosed in backticks. For example:

When creating variable and constant names in Swift, the generally accepted naming convention is to use a camelCase naming convention, beginning with a lowercase letter. Following generally accepted naming conventions makes code easier for others to read and understand.

For example, the following would be a conventional variable declaration:

However, the following would not be conventional, and would be considered incorrect by many other Swift developers:

Unlike many other programming languages, Swift is not restricted to the Western alphabet for its variable name characters. You may use any Unicode character as part of your variable declarations. The following variable declarations are legal in Swift:

Note that just because you can use any Unicode character within a variable name, and can use reserved words as variables when enclosed in backticks, it doesn’t mean you should. Always consider other developers who may need to read and maintain your code in the future. The priority for variable names is that they should make code easier to read, understand, and maintain.

Printing and String Interpolation

In Swift, you can print a variable or a constant to your console using the print() function. Let’s create a variable and a constant and print them out.

Execute this snippet in your Code Editor to create a constant named name, and a variable named address:

[Out:]John Does lives at 201 Main Street

Both name and address store string text. By wrapping the variable or constant name in a pair of parentheses, prefixed by a backslash (\), we are able to print their stored values in a print statement — this is called string interpolation.

I hope you enjoyed this quick crash course on the basics of Swift! We learned about basic syntax and program structure, how to declare and use Swift variables and constants, type inference, printing, and string interpolation.

If you are interested in learning more about Swift, we have a full Beginning Swift course at Next Tech that you can start for free! In this course we cover:

  • Other basic programming concepts such as: optionals, tuples, enums, conditionals and loops, methods, structs, and classes.
  • Creating scripts and command line applications in Swift
  • Using Swift outside of iOS and macOS development lifecycles

Happy learning!