LoginSignup
7
10

More than 5 years have passed since last update.

[swift]基本構文覚え書き キャストとか

Last updated at Posted at 2016-02-17

環境

  • Swift2.1
  • xCode7.2

2016/02/17現在

1.文字列の埋め込み

文字列の中に\(変数名)と書くことで、その場所が変数の値に置き換わります。

正しい例.swift
let str = "埋め込み"
print("こうやって\(str)ます。")     //こうやって埋め込みます。

いちいちtoStringを書いて、、ということも必要ありません。

\を記載しなかった場合は、下のようにそのまま出力されてしまうので注意してください。

間違い例.swift
let str = "埋め込み"
print("こうやって(str)ます。")     //こうやって(str)ます。

2.四則演算子

記号 演算子
+ +
- -
÷ /
× *
mod %

mod:割ったときの余り。(例:5÷3の余りは2)

2-1.swift
let x = 1
var y = x + 2 * 3 / 2
print("y = \(y)")       //  y = 4

y %= 2
print("y mod 2 = \(y)") //  y mod 2 = 0

3.キャスト

swiftではキャストする方法がいくつかありそうです。

3.1 コンバージョン(Conversion)

型(値)という記述でキャストするやり方をコンバージョンと呼ぶらしいです。
厳密にはキャストではないらしいのですが…、後述します。

Doube->Int

Double->Int.swift
let x: Double = 1
let y: Int = Int(x)
print("y = \(y)")   //  y = 1

Int->String

Int->String.swift
let intNumber: Int = 10
let intStr: String = String(intNumber)
print("intStr = \(intStr)")
//  intStr = 10

Double->String

浮動小数点型(Double)の場合は、String() はコンパイルエラーになりますので注意してください!
(Swift2.0:2016/02/17現在)

Double->String.swift
let doubleNumber: Double = 11.111
let doubleStr: String = String(doubleNumber)
// => Error

3.2 description

数値からStringに変換するときはdescriptionが使えます。

・Int
・Double など

Int->String

Int->String.swift
let intNumber: Int = 2
let intStr: String = intNumber.description
print("intStr = \(intStr) ")    //  intStr = 2

3.3 toなになに

!注意!Swift2.0以降使えないようです。

toInt

Swift2ではtoInt()が使用できなくなっており、エラーになります。

error.swift
let str = "123"
var num = str!.toInt()//error: toInt() is unavailable

toString

こちらもtoString()がエラーになりました。

何か間違いや内容の変化がありましたら修正します。

7
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
10