⚫️pukiwiki:
http://ja.wikipedia.org/wiki/Swift_(プログラミング言語)
⚫️apple swift:
https://developer.apple.com/swift/
⚫️初心者のためのSwift入門:
http://libro.tuyano.com/index2?id=10206003
⚫️Codezine:
http://codezine.jp/article/detail/8179
⚫️逆引き
https://sites.google.com/a/gclue.jp/swift-docs/ni-yinki100-ios
⚫️ドットインストール
http://dotinstall.com/lessons/basic_swift
1.特徴
オブジェクト指向、インタラクティブ(コンパイル言語)
2.文法
(1)コメントはC言語に同じ。
/* */や//など
(2)文の最後に改行のみ
「;」要らない。
(3)変数宣言 「var name:type = value」
type型のname変数を宣言し、初期値としてvalueを与える。varは決まり文句。
「:type」を省略したら、「value」を見て勝手に解釈される。
変数名はマルチバイト文字でも可。
(4)定数の宣言「let name:type = value」
説明は同「変数宣言」。
(5)関数やメソッド
・定義
func func_name(arg1: Int, arg2: String) -> String {
let arg3 = "数字:" + arg1 + arg2 return arg3 }
・使用
func_name(10,"abc")を実行すると、「数字:10abc」と出る。
・関数の引数名の前に「inout」をつけると、結果を引数経由で返せる。
(6)if文
if 条件式1 {
文1
}else if 条件式2{
文2
} else {
文3
}
(7)switch文
switch 式 {
case パターン1:
文1
//暗黙break
case パターン2, パターン3: //複数の条件をコンマで区切って指定
文2
case パターン4:
文3
fallthrough //fallthroughがある場合、次のcase文に流れる
default:
文4
}
case パターン1:
文1
//暗黙break
case パターン2, パターン3: //複数の条件をコンマで区切って指定
文2
case パターン4:
文3
fallthrough //fallthroughがある場合、次のcase文に流れる
default:
文4
}
(8)for文
for文は以下2つのように書ける。
・スクリプト言語の書き方
let list=["A","B","C"]
for x in list {
println("\(x)")
}
・C言語の書き方
for var x = 0; x < 3; x++ {
println("\(x)")
}
これを範囲的な書き方でもできる
for x in 0..<3 {
println("\(x)")
}
(9)while文
C言語と同じで、条件式の括弧なしだけ
while 継続条件式 {
文
}
もしくは、
do {
文
} while 継続条件式
3.データ型
・数値:符号付、Int,Int8,Int16,Int32,Int64
符号無、Uint,Uint8,Uint16,Uint32,Uint64
浮動小数点、Float,Double
・真偽:Bool->true,false
・文字列:String,Character(文字)。文字列の連結は「”」で囲んで、「+」か「+=」を使う。
・配列:Array〈型〉、または[型]
。後者が直観的なので、推奨される。
・複合型:他のデータ型と組み合わせてはじめて成り立つ型。
タプル:let name:(Int, String) = (123, "abc")
関数型:(Int, String)->String。引数と戻り値の真ん中に「->」を置く。
・型エイリアス:typealias new_type = old_type
「old_type」に「new_type」というエイリアスを貼る。
4.演算子
・「+」「-」「*」「/」「%」
「&+」「&-」「&*」「&/」「&%」はそれぞれ加減乗除剰で「&」つきはオーバーフロー無視
・「++」:インクリメント 「--」:デクリメント 「+」:単項プラス 「-」:単項マイナス(符号反転)
・比較演算子:「< <= > >= == != === !== ~=」
・論理演算し:「&& || !」(論理積、論理和、論理NOT)
・三項演算子:条件?真の式:偽の式
・キャスト演算子:
isは型検査
asは型キャスト
as?はキャストできないときnilとなる。
・複合型:他のデータ型と組み合わせてはじめて成り立つ型。
タプル:let name:(Int, String) = (123, "abc")
関数型:(Int, String)->String。引数と戻り値の真ん中に「->」を置く。
・型エイリアス:typealias new_type = old_type
「old_type」に「new_type」というエイリアスを貼る。
4.演算子
・「+」「-」「*」「/」「%」
「&+」「&-」「&*」「&/」「&%」はそれぞれ加減乗除剰で「&」つきはオーバーフロー無視
・「++」:インクリメント 「--」:デクリメント 「+」:単項プラス 「-」:単項マイナス(符号反転)
・比較演算子:「< <= > >= == != === !== ~=」
・論理演算し:「&& || !」(論理積、論理和、論理NOT)
・三項演算子:条件?真の式:偽の式
・キャスト演算子:
isは型検査
asは型キャスト
as?はキャストできないときnilとなる。
5.メモリ管理
Swiftのメモリ管理は、自動参照カウント(ARC)らしい
詳細は、わかってきたら追記する。
6.アクセス制御
public:どのソースファイルからも参照できる。
internal:モジュール内のどのソースからも参照できる。
private:自分のソースファイル内だけの参照に制限する。
internal:モジュール内のどのソースからも参照できる。
private:自分のソースファイル内だけの参照に制限する。
-2015/1/4
0 件のコメント:
コメントを投稿