株式会社ヴァンデミックシステム

Blog

<スポンサーリンク>

一度、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

<スポンサーリンク>

コメントを残す

Allowed tags:  you may use these HTML tags and attributes: <a href="">, <strong>, <em>, <h1>, <h2>, <h3>
Please note:  all comments go through moderation.

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)