LoginSignup
1
1

More than 5 years have passed since last update.

Swiftのお勉強 おぼえがき

Last updated at Posted at 2016-01-01

Swiftについて勉強したことのおぼえがき。

変数宣言

変数と定数の宣言について

// 変数宣言(mutable)
var x = 3

// 定数宣言(immutable)
let y = 4

型宣言

本によると、Swiftの自動判断に任せてしまって、型宣言しなくていいとあるが、なんか不安。
オプショナル型(JavaのOptionalと近しいもの???)なるものを学習すると意味がわかるらしい。

var x:Int = 3
let str:String = "Hello Swift"

繰り返し処理(forループ)

pythonに似てる。elseも使えたら良かったのにな。

for n in 1...5 {
    print(n)
}

条件分岐(if分)

これはどの言語もだいたい同じ

if x < 2 {
    // 処理
}else if x < 5 {
    // 処理
}else{
    // 処理
}

関数定義


// 関数定義の仕方
func function1(){
    // 処理
}

// 引数の指定方法
func function2(intValue:Int){
    // 処理
}

// 戻り値の指定方法
func function3() -> Int{
    // 処理
    return 0
}

functionを引数で受け取ることもできる。
java8だと、function.apply()とかしなければいけないが、この辺はさすがに後発言語が有利か。

func intToString(value:Int, f : Int -> String) -> String{
    return f(value)
}

クラス定義とインスタンス化

class Shape {
    let value:Int // immutableだが、initializerからは設定可能

    init(value:Int){
        self.value = value
    }
}

var s = Shape(value:2)

Javaで書くとこんな感じ。


class Shape{
    final int value;

    Shape(int value){
        this.value = value;
    }
}

Shape s = new Shape(2);

インスタンス化の際に、変数名を指定しなきゃいけないのが面倒だと思ったら、下記のような記述ができる。

class Shape2 {
    let value:Int

    init(_ value:Int){
        self.value = value
    }
}

var s2 = Shape2(2)
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1