読者です 読者をやめる 読者になる 読者になる

MHTcode_Victoria’s diary

会社の活動、興味を持ったこと、好きなアニメの話etcを気分で書いていくブログ。

2017/3/13 みんなでSwift復習会 に行ってきた!

2017/3/13 みんなでSwift復習会に
参加してきました₍₍ ◝(‘ω’◝) ⁾⁾ ₍₍ (◟’ω’)◟ ⁾⁾

講師の方の説明がわかりやすかった!!
また次回参加します!!

以下、まとめ

The Basics … 基本

目次
1、Comments … コメント
2、Semicolons … セミコロン
3、Integers … 整数
4、Floating-Point Numbers … 浮動小数点数
5、Type Safety and Type Inference … 型安全と型推論
6、Numeric Literals … 整数リテラル

1.Comments … コメント


書き方


//行末までコメントとなる
///スラッシュ3本でも書ける


複数行コメントはネストできる

/*
複数行
コメント
*/


Swift API デザインガイドライン
ドキュメントコメントを書きましょう
英語で書く

2.Semicolons … セミコロン


行末のセミコロンは不要
あってもコンパイルは通る

一文の中にステートメントを複数書くときに使用する
一つの行に複数のステートメントを記述できる

let a = 10; let b = 20; let c = 30;

※「,」この書き方の方がよく使用される

let a = 10, b = 20, c = 30


複数行を一つにまとめる機能はない
行末記号みたいな継続行表現には使えない

//NG 改行されている
let random = arc4random_uniform
(100);
//OK 改行されていない
let random = arc4random_uniform (100);


※random
関数型の変数
→勉強していくとクロージャがわかってくるようになる

let array = [1,2,3,5]
//改行は複数行に渡っても基本的には大丈夫
let newArray = array
    .map { $0 *2 }
    .map { $0 *5 }
    .map { $0 *2 }


3.Integers … 整数


少数点数部を持たない数
符号付きと符号なしの2種類(両者とも0を含む)

8bit、16bit、31bit、64bit
符号付きと符号なしが存在する
UIntは0スタート

//Int16の最大値を取得
Int16.max
//Int16の最小値を取得
Int16.min
//0が返ってくる
UInt64.min


演算子

環境によってオーバーフローする内容が異なる
※オーバーフロー(桁あふれ)
演算においてビット幅を越えて桁が溢れること
※アンダーフロー(下位桁あふれ)
限りなく0に近づいた小数が、精度を保てなくなる下位桁が溢れること

//おk
1 + 20
//エラーが出る書き方
1 +20
//オーバーフロー
Int16.max &+ 1


IntMax、UIntMax
最大値を表現できる整数型
エイリアスで定義されている

Int型
基本的にSwiftで数字を使う場合はInt型を使用する
コードの一貫性や相互運用性の向上が目的
実行環境のWORDサイズと同じ


UInt型
符号なし整数が具体的に必要なときだけ使う
実行環境のWORDサイズと同じ
異なる整数型での型変換を抑えられる
Int型への型推論にマッチする

SignedInteger型
IntMaxへの変換
Int64の全てができる

IntegerArithmetic型
四則演算可能


4.Floating-Point Numbers … 浮動小数点数


少数点数部を持つ数
整数より幅広い値を表現できる
IEEE754を想定している

仮数×基数^指数


無限大・非数値を実現できる
どちらでも良いならDouble型が推奨されている
mac OSでは80bitも存在

Float  :32bit,6桁
Double :64bit,15桁
Float80:80bit


重要
プロトコルをいかに美しく設計するかで
その後の作業のしやすさが変わってくる

5.Type Safety and Type Inference … 型安全と型推論


Swiftは型安全な言語
全ての場面で「型」を明記する必要はない

型推論
型の記載を省略できる
・適切な型をSwiftが見つけてくれる
・文脈から判断してくれる

//case a,bどちらでも処理結果は同じ
//case.a
let xxxx: Int = 20 as Double
//case.b
let xxxx: Double = 20


整数リテラルと不動少数点数リテラルと混ぜた時
文脈からDouble型が推論される

6.Numeric Literals … 整数リテラル


進数表記:整数リテラル
接頭辞をつけてリテラルを進数表記できる
通常は10進数
16進数にしたいときは接頭辞をつける
必ず指数表記をする必要がある

10進数:基数10で表現(e)
16進数:基数2(p)


頭に0をつけて揃えられる
間に_を記載可能(先頭と小数点の直後を除く)


今日はここまでの内容でした!

ー次回以降ー

7.Numeric Type Conversion … 数値型変換