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)