Skip to content

Swift_basic_grammar2

aoyagih edited this page Sep 7, 2020 · 3 revisions

基本文法2

Swiftの基本文法です。自分のパソコンで実際にコードを書きながら覚えていきましょう。

目次

参考コードはこちら


if文を用いると、場合分け処理を行うことができる。

var value = 5
if (value < 10){
    print("value < 10")
}

出力結果
value < 10

var value = 10
if (value < 10){
    print("value < 10")
}else if (value == 10){
    print("value = 10")
}else{
    print("value > 10")
}

出力結果
value = 10

switch文を使うと場合分けをさらに簡潔に書くことが可能。

var value = 101
switch value {
case 0:
    print("0")
case 1...100:  //1~100
    print("1~100")
default:
    print("others")
}

出力結果
others

  • 文字列もOK
var str = "Apple"
switch str {
case "Orange":
    print("mikan")
case "Apple":
    print("ringo")
default:
    print("others")
}

出力結果
ringo

for文を使うと繰り返し処理を簡単に行うことができる。

for i in 0...4{
    print("\(i)回目")
}

出力結果

0回目
1回目
2回目
3回目
4回目

Tips

上のプログラムで"\(i)回目"という書き方が初めて出てきたため、戸惑ったかもしれません。
このようにSwiftでは、変数と文字列を組み合わせて書く際、変数をバックスラッシュ(\)とかっこで囲む書き方もあります。
C言語のprintf文で用いられる%dや%fなどのイメージに近いと思います。
意味はprint(String(i) + "回目")と同じですが、こちらの表記の方が簡潔に書くことができます。

  • ..<は最後の数字を含まない。
for i in 0..<4{
    print("\(i)回目")
}

出力結果

0回目
1回目
2回目
3回目
  • 変数を使わない場合は「_」(アンダーバー)で省略可能。
for _ in 0...4{
    print("Hello")
}

出力結果

Hello
Hello
Hello
Hello
Hello
  • 配列のイテレーション
let animals = ["dog", "cat", "bird"]
for a in animals{
    print(a)
}

出力結果

dog
cat
bird
  • for-in-enumerated文によるイテレーション
for (i,str) in animals.enumerated(){
    print("\(i): \(str)")
}

出力結果

0: dog
1: cat
2: bird

while文を用いても繰り返し処理を行うことができる。

var count = 1
var ans = 0
while (count<=10){
    ans += count
    count += 1
}
print("sum is \(ans)")

出力結果

sum is 55

関数を定義すると、同じ処理を何回も記述せずに済む。
関数は、func 関数名(引数名: 引数の型)-> 戻り値の型{ 処理 }のように定義する。
引数や戻り値がない場合、適宜省略する。

func hello(){
    print("hello")
}
hello()   //helloと出力

func add(x: Int, y: Int) -> Int{
    return x + y
}
print(add(x: 3, y: 5))    //8と出力

//_で引数を省略できる。
func add2(_ x: Int, _ y: Int) -> Int{
    return x + y
}
print(add2(3,5))    //8と出力

//分かり易いように引数名の別名を置くこともできる。
func showTestScore(mathematicsTestScore score: Int) -> String{
    return "数学の点数は\(score)"
}
showTestScore(mathematicsTestScore: 80)

変数の初期値にはnil(nullみたいなもの)を代入することが多い。
nilを代入可能にするにはOptional型を利用する必要がある。
Optional型とは値が存在しない状態を持つかもしれない型で、型の最後に?をつけて定義する(これをOptional型でラップするという)。
Optional型変数を利用する際は、if let 変数名 = 変数名構文で、変数がnilでないことを確認する必要がある(これをアンラップするという)。

var animal: String?  //OptionalのString型変数を宣言
animal = "dog"
print(animal)  //このままではOptional("dog")と出力されてしまう。
if let animal = animal{    //アンラップ処理
    print(animal)     //dogと出力
}
//アンラップ後の変数を使用しない場合
if let _ = animal {
    print("animal is not nil")    //animal is not nilと出力
}
Clone this wiki locally