Go ファイル処理

Goによるファイル処理方法

1. ファイル読み込み

package main

import (
    "bufio"
    "fmt"
    "log"
    "os"
)

func main() {
    file, err := os.Open("sample.txt")
    if err != nil {
        log.Fatal(err)
    }
    defer file.Close()

    scanner := bufio.NewScanner(file)

    var strList []string
    for scanner.Scan() {
        strList = append(strList, scanner.Text())
    }
    fmt.Println(strList)

    if err := scanner.Err(); err != nil {
        log.Fatal(err)
    }
}
os.Openでファイルを取得 -> bufio.NewScannerでファイルからスキャナーを生成 -> scanner.Scanで次のスキャンに移動 -> scanner.Textで中身を取得

2. ファイル書き込み

package main

import (
    "fmt"
    "log"
    "os"
)

func main() {
    // os.RDWR : open the file read-write.
    // os.CREATE : create a new file if none exists.
    // os.APPEND : append data to the file when writing.
    // 0666 <- permission
    file, err := os.OpenFile("testGo.txt", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
    if err != nil {
        log.Fatal(err)
    }
    defer file.Close()

    fmt.Fprintln(file, "Add!")
}
os.OpenFileでファイルを取得(無ければ新規作成)-> fmt.Fprintlnでファイルに文字列を書き込み

参考

https://golang.org/pkg/os/ https://golang.org/pkg/bufio/
スポンサーリンク
レクタングル広告(大)
レクタングル広告(大)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする