-
Notifications
You must be signed in to change notification settings - Fork 0
Swift_basic_grammar2
aoyagih edited this page Sep 7, 2020
·
3 revisions
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回目
上のプログラムで"\(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と出力
}