golang學習的點點滴滴:讀寫檔案(物件導向版)

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
package main import ("fmt""bufio""io""os""flag""strconv")// 定義一個結構體type ReadWrite struct {In *stringOut *string}// 定義初始化方法func (rw *ReadWrite) Init() {rw.In = flag.String("in", "in", "in")rw.Out = flag.String("out", "out", "out")flag.Parse()}// 定義讀檔案的方法func (rw *ReadWrite) Read() (result []int, err error) {file, err1 := os.Open(*(rw.In))if nil != err1 {panic("error to open file...")}defer file.Close()br := bufio.NewReader(file)result = make([]int, 0)for {line, isPrefix, err2 := br.ReadLine()if nil != err2 {if io.EOF == err2 {fmt.Println("finish read ...")}break}if isPrefix {return}str := string(line)value, err3 := strconv.Atoi(str)if nil != err3 {err = err3return}result = append(result, value)}return}// 定義寫檔案的方法func (rw *ReadWrite) Write(value []int) {file, err := os.Create(*(rw.Out))if nil != err {panic("error to create file...")}defer file.Close()for index, res := range value {str := strconv.Itoa(res*index)file.WriteString(str + "\n")}}func main() {defer func() {if ex:=recover();ex!=nil {fmt.Println(ex)}}()rw := new(ReadWrite)rw.Init()value, err := rw.Read()if nil != err {panic("error.....")}rw.Write(value)}


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.