读写操作: // hello project main.go /* 从文件中读取数据,然后进行排序,再把排序后的数据写入到新文件中 */ package main import ( "fmt" //使用fmt包中的Println()函数 "bufio" "io" "os" "strconv" "sort" ) func readValues(infile string) (values []int,err error){ file,err := os.Open(infile) if err != nil { fmt.Println("打开文件失败!",infile) } defer file.Close() br := bufio.NewReader(file) values = make([]int,0) for{ line,isPrefix,err1 := br.ReadLine() if err1 != nil{ if err1 != io.EOF{ err = err1 } break } if isPrefix{ fmt.Println("A too long line, seems upexpected") return } str := string(line) value,err2 := strconv.Atoi(str) if err2 != nil{ err = err2 return } values = append(values,value) } return values,nil } func writeValues(values []int,outfile string) error{ file,err := os.Create(outfile) if err != nil{ fmt.Println("创建文件失败!",outfile) return err } defer file.Close() for _,value := range values{ str := strconv.Itoa(value) file.WriteString(str+"\n") } return nil } func main() { values,err := readValues("unsorted.dat") if err != nil{ fmt.Println(err) }else{ sort.Ints(values) writeValues(values,"sort.dat") } }
有疑问加站长微信联系(非本文作者)