in
iOS
- 31 10月, 2014
iOS 新言語Swiftを触ってみた(1)
どうもfugetuです。
さて最近Appleが話題の新開発言語 「Swift」を発表しましたのでそちらを数回に分けて紹介したいと思います。
そもそも Swiftって何?という人は、以下のざっくり説明を
- MacOSおよびiOSアプリ開発はObjective-Cだったけど、Swiftという新開発言語をつくったよ!
- Objective-CはOS依存が強くて今まで変えれなかったけど、Xcode6の正式リリースと共に使えるようにしたよ!
- Objective-Cよりもっと分かりやすく使いやすい言語になったよ!!
- Objective-Cより高速に処理できるようになったよ!!
- プレイグラウンドという実行しながらコーディングできる画期的な機能を使えるよ!!
4は公式が謳っているだけで実際は分からないです。5については面白そうなのでどこかで触れてみて紹介してみます。
さて今回は初回ということもあり、プログラムの初歩的な変数宣言やデータ型を紹介したいと思います。
■1ラインの書き方
Swiftでは1ラインの命令に対して最後にセミコロン( ; )が書かなくてもOKです。
JavaやC言語では1つの命令にセミコロンが必要ですがSwiftだと以下のように書けます。
println("Hello World"); // セミコロンあり OK println("Hello World") // セミコロンなし こちらでもOK
セミコロンをつけないと落ち着かないという人は、つけても大丈夫なので安心してください。
■変数・定数の宣言
Swiftでは変数をJavaScriptのように型推論で宣言できるだけでなく、コロン( : )を使用して型宣言もできます。
// 変数宣言(型推論) var 識別子 = 値 var nInt = 100 // Int型推論 var str = 'Hello World' // String型推論 // 変数宣言(型宣言) var 識別子:データ型 = 値 var nInt:Int = 100 // Int型の宣言 var str:String = 'Hello World' // String型の宣言
定数も同じように型推論と型宣言を使い分けることができます。
// 定数宣言(型推論) let 識別子 = 値 let nInt = 100 // Int型推論 let str = 'Hello World' // String型推論 // 定数宣言(型宣言) let 識別子:データ型 = 値 let nInt:Int = 100 // Int型の宣言 let str:String = 'Hello World' // String型の宣言
■データ型
Swiftには代表的な以下のデータ型があります。
真偽値
Bool型 | trueまたはfalseという値で正誤の判断時に使用 |
// Bool型の宣言 var flg:Bool = true
数値型
Int型 | 符号付整数型 32bit環境の場合は-2,147,483,648~2,147,483,648 64bit環境の場合は-9,223,372,036,854,775,808〜9,223,372,036,854,775,807 |
UInt型 | 符号無し整数型 32bit環境の場合は0〜4,294,967,295 64bit環境の場合は0〜18,446,744,073,709,551,615 |
Float型 | 32bit浮動小数点型 |
Double型 | 64bit浮動小数点型 |
// Int型宣言 負数 var numInt:Int = -100 // UInt型宣言 正数 var numUInt:UInt = 100 // Double型宣言 var numDouble:Double = 100.50 // Float型宣言 var numFloat:Float = 200.10
文字型・文字列型
Character型 | Unicode文字を1文字格納する文字型 |
String型 | Unicode文字を連ねた文字列を格納する可変長文字列型 |
// Character型宣言 var cha:Character = "a" // String型宣言 var str:String = "Hello World"
配列型
Array<データ型>型 | 指定したデータ型から連続したデータを格納する配列型 varで宣言することで可変配列 letで宣言することで固定配列 |
Array<Any>型 | 複数のデータ型を混在して格納できる可変配列 |
// Array<データ型>型宣言 可変 var ary1:Array<String> = ["Pionet", "Soft", "Fugetu"] // Array<データ型>型宣言 固定 let ary2:Array<String> = ["Pionet", "Soft", "Fugetu"] // Array<Any>型宣言 可変 var ary3:Array<Any> = ["Pionet", 1000, 215.5] // Array<Any>型宣言 固定 let ary4:Array<Any> = ["Pionet", 1000, 215.5]
辞書型
Dictionary<データ型,データ型>型 | 指定したデータ型(左)のキーと指定したデータ型(右)の値を持つ連想配列 |
// Dictionary型宣言 var dict:Dictionary<String,String> = ["Pionet":"Soft","Technic":"Blog"]
と今回は初歩的な変数やデータ型を紹介しました。
私自身触れてみて変数・定数の型宣言がほかの言語と比べて特殊なので書きづらい…どんどん書いて慣れていくしかないだろうなと考えてます。
次回は初歩的な紹介として演算と制御文、配列型辞書型データ操作について紹介したいと思います。
では、また