byte型【夏休みにGo vol.10】
こんにちは、しーたです。引き続きGoの基本を学んでいきます。
byte型
byte型は"01001100"のような符号なし8bitで値を保存しています。
fmt.Println()で数値としてが出力でき、string()で変換すればアスキーコードに対応する文字が出力されます。
func main() {
b := []byte{75, 76} //75=01001011, 76=01001100
fmt.Println(b)
fmt.Println(string(b))
}
文字列を代入しても同じ結果になります。
func main() {
b := []byte{75, 76} //75=01001011, 76=01001100
fmt.Println(b)
fmt.Println(string(b))
}
「あれ、uint8(unsigned int)と同じじゃない??」と思った方!
僕も思いました。
ドキュメントによると、「byteはuint8の別名」らしいです。
https://golang.org/ref/spec#Types
実際やってみても、同じ挙動をしますね。
func main() {
b1 := []byte{75, 76} //75=01001011, 76=01001100
fmt.Println(b1)
fmt.Println(string(b1))
b2 := []uint8("KL")
fmt.Println(b2)
fmt.Println(string(b2))
}
以上です!それでは!