Day of 1 of learning Swift
I recently found a site called hackingwithswift.com and I have decided to try it as I have always wanted to learn how to code. Although, I have been doing a lot of scripting with BASH, I feel that my road to be an actual developer requires learning something beyond shell scripting.
The author of the site recommends that i spend an hour of coding a day so that I can better at developing using swift. So for the past hour I have read and typed the code example the site has for creating variables, contants, strings and numbers.
Here I learned about:
- Variables (var) as containers that have interchangable contents
- Constants (let) as containers that can only be declare once and can never be changed.
- Strings are groups of characters started and ending with double quotes.
- Can be used with modifiers like uppercased() etc
- Numbers are called integers
- Nubmers with decimals are floating-point numbers and is called βDoubleβ
- You cannot mix Integers and Doubles
- You cannot mix strings with integers
Here is my code. I have heavily commented for now so that i can force myself to know what is happening.
import Cocoa
var greeting = "Hello, playground" // declare variable named "greeting" the string "Hello, Playground"
var name = "Ted" // declare a variable named "name" and initialize with the string "Ted"
name = "Rebecca" // replace contents of the variable to "Rebecca"
name = "Keeley" // replace contents of variable "name" from "Rebecca" to "Keeley"
let character = "Daphne" // declare a constant named "character" and initialize with the string "Daphne"
// character = "Eloise" // not possible for constants
// character = "Francesca" // not possible for constants
var playerName = "Roy" // declare variable named "playerName" and initialize with string "Roy"
print(playerName) // print the value of playerName on console
playerName = "Dani" // assign new value - "Dani" to playerName
print(playerName) // print new value of playername (which should be Dani now)
playerName = "Sam" // assign new value from "Dani" to "Sam"
print(playerName) // print new value for playerName on console (should be sam)
// Demonstrating camelcase convention. start with lowercase then capitalize every first letter of the word.
let managerName = "Michael Scott" // declare new variable named "manageName" containing "Michael Scott" String.
let dogBreed = "Samoyed" // declare variable named "dogBreed" container "Samoyed" string.
let meaningOfLife = "How many roads must a man walk down?" // declare variable named meaningOfLife.
// STRING - characters like in a scrabble game. Should start and end with a double quote (")
let actor = "Denzel Washington" // declare a string variable anmed actor.
let filename = "paris.jpg" // decalre a string variable with punctuations (.).
let result = "β You win! β" // declare a string variable with an emoji
// using double quotes in a string, but you need to put a backslash (\) to "escape" the character
let quote = "Then he tapped a sign saying \"Believe\" and walked away." // declare a string variable with double quotes along with the slash.
// Swift does not like line breaks within strings. commenting the lines below since they will cause the compiler not to run. therefore line 40 to 42 will not work.
// let movie = "A day in
// the life of an engineer
// Apple engineer"
// use triple quotes to enable line breaks within strings
let movie = """
a day in
the life of an
apple engineer
""" // declare a multiine variable using triple quotes.
// Some string based "modifiers"
print(actor.count) // count the number of characters in the string saved in the actor variable which is btw "Denzel Washington" and then print the result to console
print(result.uppercased()) // convert all characters to uppercase and pritn to console.
print(movie.hasPrefix("A day")) // return true if the variable "movie" has a string that starts with "A day"
print(filename.hasSuffix(".jpg")) // return true if the variable filename ends with ".jpg"
// How to store whole numbers
let score = 10 // declare a constant with a integer value of 10
let reallyBig = 100000000 // declare a long number, hard to read with the comma's
let reallyBig_with_breaks = 100_000_000 // use underscores to break up numbers for visual purposes.
// mathemetical operations for integers
let lowerScore = score - 2 // declare a constant with the value of score less 2
let higherScore = score + 10 // decllare a cosntant with the value of score plus 10
let doubledScore = score * 2 // declare a constant with the value of score multiplied by 2
let squaredScore = score * score // declare a constant with the value of score squared
let halvedScore = score / 2 // declare a constant with the value of score divided by two
// Counters using variables
var counter = 10 // declare a variable named counter and initialize with the integer 10
counter = counter + 5 // Add 5 to the value of counter and save it as the new value of counter
counter += 5 // Add 5 to the value of counter and save it as the new value of counter (short hand version of line 79) also known as "compound assignment operator"
counter *= 2 // multiply the value of counter by 2 and then replace it with the new value.
print(counter) // print the value of counter
counter -= 10 // deduct 10 from the value of counter and replace it with the difference.
print(counter) // print the value of counter
counter /= 2 // divide the value of counter by 2 and replace it with the quotient.
print(counter)
// useful modifiers for integers
let number = 120 // declare a constant called number
print(number.isMultiple(of: 3)) // use isMultiple(of:) to determine if the value of number is a multiple of 3 - should return true.
// how to store floating-pint numbers - ie numbers with decimal places
// a complex way of storing floating point numbers:
let number_complex = 0.1 + 0.2 // declaring number_complex since number has been delcared earlier in this file.
print(number_complex)
// * Swift consider floating point numbers as a "Double" (short for double-procession flouting point number"
// You cannot mix Double's with Integers
let a = 1 // declare constant a
let b = 2.0 // delcare constant b
// let c = a + b // Not going to work which is why this line is commented.
let c_int = a + Int(b) // convert B from double to integer
let c_double = Double(a) + b // convert A from integer to double
let double1 = 3.1 // declare double1 as floating point
let double2 = 3131.3131 // declare double2 as floating point
let double3 = 3.0 // decalre double3 as floating point
let int1 = 3 // declare int1 as integer
var name_actor = "Nicholas Cage" // declare variable "name"
name = "John Travolta" // replace "Nicholas Cage" with "John Travolta" reference to Face-off movie.
// This will not work
var name_actor_acgain = "Nicholas cage"
// name = 57 // will not work which is why this line is commented
// Decimal numbers will also work with compound assignment operators
var rating = 5.0
rating *= 2
Also saved the ocde in my Gitlab / Github repositories.
#100daysofSwiftUI #learntocode