【Golang】Byte型をint型に変換する

一度、stringに変換してから、strconv.Atoiでint型へ変換する必要がある
yuta / tmp golang cat /tmp/history 2
package main import ( "fmt" "os" "reflect" "strconv" ) func main() { file, err := os.Open("/tmp/history") if err != nil { panic(err) } defer file.Close() buf := make([]byte, 32) for { n, err := file.Read(buf) if n == 0 { break } if err != nil { panic(err) } } fmt.Println(buf) // bufのリスト fmt.Println(reflect.TypeOf(buf)) // unit8のリストであることがわかる fmt.Println(buf[0]) // リストの0個目 fmt.Println(string(buf[0])) // stringに一度変換 str_buf := string(buf[0]) fmt.Println(str_buf) fmt.Println(reflect.TypeOf(str_buf)) i, _ := strconv.Atoi(str_buf) // stringからintへ変換 fmt.Println(i) fmt.Println(reflect.TypeOf(i)) }
出力結果
[50 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] []uint8 50 2 2 string 2 int