ためしてみた。
fileReadという名前でまとめて呼び出すようにしてみた。入力値はファイル名で出力は文字列。
package main import ( "bufio" "fmt" "log" "os" "strings" ) func fileRead(fn string) string{ r := [] string{} // slice(動的な配列) rr := "" // ファイルを読み取りオープン file, err := os.Open(fn) // *os.File if err != nil { log.Fatal(err) } defer file.Close() // 関数脱出時に実行 // 一行ずつ読み出し scanner := bufio.NewScanner(file) for scanner.Scan() { line := scanner.Text() // fmt.Println(line) r = append(r,line) } rr = strings.Join(r,"\n") return rr } func main() { fmt.Println(fileRead("hello.go")) }
今どきbyte書くんかよと思ったけどJavaを引き合いに出す世界では確かに今も使う。
Rubyでテキストばかり扱っていると全く触れないこともあるのでビックリしたけど、これ言語そのものが初心者のひとはわかるのかなぁ? 文字は文字だろ、なにこれ って言いそう。