iOS 新言語Swiftを触ってみた(1)

どうもfugetuです。

さて最近Appleが話題の新開発言語 「Swift」を発表しましたのでそちらを数回に分けて紹介したいと思います。

 

そもそも Swiftって何?という人は、以下のざっくり説明を

 

  1. MacOSおよびiOSアプリ開発はObjective-Cだったけど、Swiftという新開発言語をつくったよ!
  2. Objective-CはOS依存が強くて今まで変えれなかったけど、Xcode6の正式リリースと共に使えるようにしたよ!
  3. Objective-Cよりもっと分かりやすく使いやすい言語になったよ!!
  4. Objective-Cより高速に処理できるようになったよ!!
  5. プレイグラウンドという実行しながらコーディングできる画期的な機能を使えるよ!!

 

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"]

 

と今回は初歩的な変数やデータ型を紹介しました。
私自身触れてみて変数・定数の型宣言がほかの言語と比べて特殊なので書きづらい…どんどん書いて慣れていくしかないだろうなと考えてます。

次回は初歩的な紹介として演算と制御文、配列型辞書型データ操作について紹介したいと思います。

では、また