初めてSwiftのコードを眺めたとき、なんなく想像ができるものがあれば、全くわからないものもあります。
よくわからなかったものをあげていきます。

let var

letは定数です。
varは変数です。

JavaScriptと同時に書いていると混乱 :sweat:
なぜconstでないのか。。。

_

Swiftは関数呼び出し時に引数名を付ける必要があります。関数宣言時に_を付けておくと、引数名を省略できます。


// _ がないとき
func myFunc(arg: String) {}
myFunc(arg: "arg") // 名前付きで呼び出す

// _ があるとき
func myFunc(_ arg: String) {}
myFunc("arg") // 名前を省略できる

また、関数からの戻り値を捨てるときに使います。


_ = MyFunc()

?!

使われている場所によって意味が違います。

変数宣言

オプショナル型(Null許容型)の変数を宣言します。

let hoge: String?
let hoge: String!

! のほうは、使うときに自動的にオプショナルが外れます。

変数の参照

変数がnullのときはプロパティやメソッドを呼び出しません。


let length = hoge?.length
let upper = hoge?.toUpper()

普通の型にする

! を付けるとオプショナル型ではなくなります。


let hoge: String?
let fuga: String = hoge!

$0

省略された第1引数です。


var doubled = myArray.map { $0 * 2 }

... ..<


0...10 // 0以上10以下
0..<10 // 0以上10未満

他にもわからないものいろいろ

また調べて書こうと思います。

internal
private
fileprivate
public
open
convenience
weak
extension