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))
}

画像2

文字列を代入しても同じ結果になります。

func main() {
	b := []byte{75, 76} //75=01001011, 76=01001100
	fmt.Println(b)
	fmt.Println(string(b))
}

画像3


「あれ、uint8(unsigned int)と同じじゃない??」と思った方!
僕も思いました。
ドキュメントによると、「byteはuint8の別名」らしいです。
https://golang.org/ref/spec#Types

画像1

実際やってみても、同じ挙動をしますね。

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))
}

画像4


以上です!それでは!

この記事が気に入ったらサポートをしてみませんか?