http://stackoverflow.com/questions/5884154/golang-read-text-file-into-string-array-and-write
方法一
1 package main 2 3 import ( 4 "bufio" 5 "fmt" 6 "log" 7 "os" 8 ) 9 10 // readLines reads a whole file into memory 11 // and returns a slice of its lines. 12 func readLines(path string) ([]string, error) { 13 file, err := os.Open(path) 14 if err != nil { 15 return nil, err 16 } 17 defer file.Close() 18 19 var lines []string 20 scanner := bufio.NewScanner(file) 21 for scanner.Scan() { 22 lines = append(lines, scanner.Text()) 23 } 24 return lines, scanner.Err() 25 } 26 27 // writeLines writes the lines to the given file. 28 func writeLines(lines []string, path string) error { 29 file, err := os.Create(path) 30 if err != nil { 31 return err 32 } 33 defer file.Close() 34 35 w := bufio.NewWriter(file) 36 for _, line := range lines { 37 fmt.Fprintln(w, line) 38 } 39 40 }
方法二(比较简洁,但文件不能太大)
1 content, err := ioutil.ReadFile(filename) 2 if err != nil { 3 //Do something 4 } 5 lines := strings.Split(string(content), "\n")
有疑问加站长微信联系(非本文作者)