Swift についていろいろ情報を見ていくうちに触ってみたいな!と思いました。
とりあえず、Appleが提供してくれている以下の電子書籍を少しずつ読んでます。
The Swift Programming Language (iBook store)
ようやく4割弱くらいかな、前半読んでみて思ったことを少し書いてみます。
まず、何よりも感じたこと。それは、、
間違えやすい書き方を減らそうとしている
CやC++をよく使ってプログラムを書くのですが、これって間違えやすいよなぁと思う点がいくつかある。
1.とにかく型安全
コンパイラが必ず型チェックを行う。以下のは、まぁ普通にできないと思うけど。
let a : String = "1.5" let b : Int = 2 var x = a + b // コンパイルエラー
一方で、あきらかに確定できる型に対しては、積極的に暗黙に型推定を行っている。
慣れればかなり書きやすいのではないかな。
2.行末の";"がいらない
いらんやろ、と思った人が何人いるか、という行末の";"。改行コードでちゃんと切り分けられる。
もちろん一行に複数行書く場合はちゃんと";"を入れて書ける。
let a = 1.5 // ";"がいらない let b = 1; let c = 2
3.大きな数字の桁が分かりやすいように"_"で桁割ができる
これも小さなところだけど、大きな特徴。
定数なんか見直したりしないから、打ち間違えていたらなかなか気づかない。
let MILLION = 1_000_000
4.複数行コメントがネストできる
複数行コメントアウトを、さらにそれを包含して複数行コメントアウトできるようになった。
これも以前思ったんだよね、なんでできないの?!て。
こういうところ、うれしい。
/*
let a = 10
/* let b = 20 */
let c = 30
*/
5.switchが拡張
caseの条件が一致したところだけ実行(最終行に明示的なbreakがいらない!)。
C/C++の場合はcase文が終わっても実行が次のcase文に突入していってしまう。
var x = 3
switch x {
case 0:
println('zero.')
case 1:
println('one.')
case 2:
println('two.')
default:
println('many!')
}
また、caseに複数条件書けるようになった。関数化しておけばよいが、短いコードの場合面倒なので便利。
var x = 3
switch x {
case 0, 1, 2:
println('less than 3.')
case 3:
println('equal to 3.')
case 4, 5, 6:
println('more than 3.')
default:
println('many!')
}
caseの条件を数式で書けるようにwhere句が追加された。
var x = 2
switch x {
case let a where a % 2 == 0:
println('even.')
case let a where a % 2 == 1:
println('odd.')
}
てところで、長くなってきたので、ひとまず、続く!
0 件のコメント:
コメントを投稿