Go

Go ファイル読み込み

2017年1月27日

Golang ファイル読み込み

Golangでファイル読み込み行なってみます。

ファイル作成

ファイルを読み込むためのプログラムを作成します。

package main

import (
  "fmt"
  "os"
)

const BUFSIZE = 1024

func main() {
  // ファイルオープン
  file, err := os.Open(`data/test.txt`)
  if err != nil {
    fmt.Print("読み込みエラー")
  }
  // クローズ
 defer file.Close()
  buf := make([]byte, BUFSIZE)
  
  for {
    i := file.Read(buf)
    if i == 0 {
      break
    }
    if err != nil {
      break
    }
    fmt.Print(string(buf[:i]))
  }
}

test.txtの内容については、テキトーに入れています。

一応中身は6行くらいのデータになります。

計測結果

Golangのベンチマークの計測の仕方がわかってないので、timeコマンを使って計測しています。

buildなし

real    0m0.316s
user    0m0.171s
sys     0m0.089s

buildあり

real    0m0.006s
user    0m0.001s
sys     0m0.004s

おっ!ビルドするとやっぱ速いですね。

catコマンド

catコマンドでも一応計測してみました。

real    0m0.002s
user    0m0.001s
sys     0m0.001s

catコマンドは、やっぱ速いです。

-Go
-