net/http のソースコードを読んでいるときにシングルクオーテーションが出てきた。そもそも Go におけるシングルクオーテーションってなんなのかよくわかってなかったのでメモ。
golang.jp から引用。
ルーンリテラルは、ルーン定数であり、Unicode コードポイントに一致する整数値です。ルーンリテラルは一文字以上の文字をシングルクォートでくくって表現します。クォート内にはシングルクォートと改行を除くどんな文字も記述できます。バックスラッシュを使用したマルチ文字シーケンスの各書式でエンコードすることで、シングルクォート文字自体の Unicode 値も表せます。
net/http では、ルーティングルールを追加するとこで出てくる。その雰囲気を 10% くらい残してサンプルを書くとこんな感じ。
package main
import (
"fmt"
)
func main() {
pattern := "/poyo/"
n := len(pattern)
if pattern[n-1] == '/' {
fmt.Printf("pattern[%d]: '/'(%d)\n", n-1, '/') // pattern[5]: '/'(47)
}
}
ダブルクオーテーションと見間違えないようにしたい。