golangは低レベルな処理(バイナリの取り扱いとかね)もちゃんと行うことができる. 基本(byte型を使う) golangは組み込みでbyte型が用意されている. これはその名の通りバイトを扱うための型で, 配列やスライスにすれば単純なバイトストリームを扱える. package main import ( "fmt" ) func main() { b := []byte{0xDe, 0xaD, 0xBe, 0xeF} fmt.Printf("%b\n", b) // 2進表示 fmt.Printf("%d\n", b) // 10進表示 fmt.Printf("%x\n", b) // 16進小文字表示 fmt.Printf("%X\n", b) // 16進大文字表示 } [実行結果] [11011110 10101101 10111110 11101111] [222 173 19