My Swift Journey — The Basics

Monica Granbois
Nov 12, 2017 · 3 min read

I am currently learning Swift to expand my programming knowledge. I looked at Swift a few years ago, but am now ready to dive into it.

I have programmed for many years with Java, and have some familiarity with Python. So, my approach to learning a new language is influenced by that previous knowledge. For example, I already know what a loop is. With Swift, I want to know the available control flow statements and their syntax. This is different from when I first learned to program and I had to learn the concept of a loop besides the syntax.

I am hoping to learn concepts that are not present in Java. I also want to see how another language approaches typical programming concepts.

This post contains my notes on Swift’s basic syntax, ranges and tuples. These notes are not an exhaustive resource. I plan to create posts on other concepts as I continue on my learning path.

Syntax Basics

  • semicolons — Semicolons can be used to separate lines, but it is recommend not too. Semicolons are required if there are multiple statements on one line.
  • comments — Same as Java.
  • parentheses — Are not needed around conditional statements. This is different from Java where they are needed.
  • curly braces — Are required after conditional or loop statements. In Java they are not required. This can lead to bugs because code thought to be in a conditional/loop block is not. Swift avoids this potential error by requiring the curly braces.
  • type inference — Swift can infer type. Integer and Double are the default type vs Unsigned Integer or Float. Float or Unsigned Integer must be explicitly declared if those types are needed.
  • constant declarationlet keyword. Swift prefers the use of constants over variables.
  • variable declarationvar keyword.
  • logical operators (NOT, AND, OR)- Same as Java
  • string interpolation - \(variable) in a String

Examples:


//constant declaration, with type inference
let x = 3
//constant declaration, with type annotation
let tax : Float = 0.7
//variable declaration, with type inference
var y = “Apple”
//variable declaration, with type annotation
var title : String = “Harry Potter And The Half Blood Prince”
//conditionals do not need parentheses, but do need curly braces
let a = true
let b = false
let c = false
if a == b {
print(“They are the same!”)
}else {
print(“They are different”)
}
//logical operators
if a && b || !c {
print(“in code block”)
}
//string interpolation
let name = “Snoopy”
print(“Hello \(name)”)

Ranges

I like the range operators in Swift. They are intuitive and concise to work with.

  • a…b — a and b are inclusive. Called the “Closed Range Operator”
  • a..<b — includes a, but excludes b. Called the “Half Open Range Operator”
  • [2…] — One sided range. In this example get all array items starting at index 2.
  • [..<2] | — One sided range. In this example get all array items up to but excluding index 2.

Examples:

//Closed Range Operator. 
for x in 1…3 {
print(x)
}
//Half Open Range Operator
for x in 1..<2{
print(x)
}
//One sided ranges
let fruits = [“apple”, “banana”, “peach”, “grape”]
for fruit in fruits[1…] {
print(fruit)
}
for fruit in fruits[..<2] {
print(fruit)
}

Tuples

- Hurray! Swift has Tuples! I liked using them in Python and am glad Swift includes them. :)
- Swift also supports named tuples. Tuple values can be accessed by name rather than by index value.

Example:

//Named tuple
let t = (currencyName: “CAD”, exchangeRate: 1.2, id: 4)
print(t.currencyName)

First Impressions

So far, I like Swift! The syntax is easy to read and concise to write. I also like it is a type-safe language. I am looking forward to learning more!

Thank you for reading! If you notice anything I missed or got wrong, please let me know! :)

References

This post was initially posted on my blog.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store