コンテンツにスキップ

Swiftの基礎1

変数

イミュータブルな変数「let」

書き換えられんよ

1
2
let immutableStr = "hello"
immutableStr += " world" // error

ミュータブルな変数「var」

書き換えられるよ

1
2
var mutableStr = "hello"
mutableStr += " world" // ok

型推論

明示的に型を宣言しない場合は型推論になる

1
2
var str = "string"
var int = 100

型宣言

1
var mutableStr: String = "string"

型の暗黙変換

型の暗黙変換はされないので変換してあげる

1
2
3
let label = "This year is "
let year = 2019
let thisYear = label + String(2017)

文字列内での変数展開

1
2
let year = 2019
let nextYear = "Next year is \(year + 1)"

配列

1
2
3
4
var itemsArray = ["foo", "bar", "baz"]

// 型宣言する場合
var itemsArray: [String] = ["foo", "bar", "baz"]

ディクショナリ(Dictionary型)

["キー": "値"]のように記します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
var itemsDictionary = [
  "foo": "FOO",
  "bar": "BAR",
  "baz": "BAZ"
]

// 型宣言する場合
var itemsDictionary: [String: String] = [
  "foo": "FOO",
  "bar": "BAR",
  "baz": "BAZ"
]

if else

1
2
3
4
5
if true == true {
  print("true")
} else {
  print("false")
}

forループ

1
2
3
4
let list = [3, 7, 9, 12, 8, 5]
for number in list {
  print("number \(number)")
}

whileループ

1
2
3
4
5
var number = 1
while number < 10 {
  print(number)
  number += 1
}

switch case

rubyみたいなRangeオブジェクトが使える

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
let age = 17
switch age {
case 0...6:
  print("kindergarden kid")
case 7...12:
  print("primary school student")
case 13...15:
  print("junior high school student")
case 16...18:
  print("high school student")
case 19...22:
  print("college student")
default:
  print("business person")
}