Swift基礎part1 基本的なデータ型とデータ構造


iOS開発に興味がわいたのでSwiftを勉強してみることにしました。

1.変数・定数の宣言

変数はvarで宣言、定数はletで宣言します。
Swiftではvarの使用は非推奨のようです。基本的に、定数・変数に関わらずletで宣言するのが定石のようです。

また、swiftは静的型付けであるため、変数名に型名を指定します。
ただし、型推論によって型を省略することができます。

let PI:Double = 3.14 //定数
let message:String = "Hello,Swift!" //変数

var flag = false
flag = message //flagは型推論によってBool型となる。そのためString型のmessageは代入できず、コンパイルエラーになる

Javaと違って文末の;が不要。

2.基本データ型

基本的なデータ型は以下のとおり。

  • String・・・文字列
  • Int・・・整数
  • Double・・・浮動小数点
  • Bool・・・真偽
let message:String = "hello,Swift!"
let allAnswer:Int = 42
let tax:Double = 1.08
let flag:Bool = true

他にも、FloatとかInt8とかありますが、基本的には上に上げた4種類を覚え、それを使うようにすれば特に問題ないっぽい?

Javaの基本データ型にもfloatとかshortとかありますが、特に使わないし覚える必要性もあまりないのと同じですね。

3.基本的なCollection

PythonやRubyと同じく、

  • 配列
  • タプル
  • ディクショナリ

が基本的なCollectionとなります。(Collection、という呼び方はJavaっぽくて適切かどうかわかりませんが。。。)
JavaでいうところのそれぞれList,Set,Mapですね。


// タプル
let languages:(String,String,String) = ("swift","Java","Ruby")
print(languages.0) //アクセスには.0など、ドット演算子とインデックスでアクセスする。

let me:(String,Int)=("yohira0616",26) //異なるデータ型を混在させることも可能

//配列(リスト)
let primes:[Int] = [1,2,3,5,7,11,13]
primes.append(17) //末尾に17を追加
primes.removeAtIndex(0) //1は素数じゃないので削除
print(primes[1]) //3が出力される。

//ディクショナリ
var recommendedBook:[String:String] = ["Java":"パーフェクトJava","PHP":"パーフェクトPHP","JavaScript":"サイ本"] 
print(recommendedBook["Java"])
recommendedBook["Ruby"]="パーフェクトRuby"
recommendedBook.removeValueForKey("JavaScript") //対応するキーに対するValueを削除
recommendedBook["JavaScript"]="パーフェクトJavaScript"

とりあえず今日はここまで。