亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang:將 []int 寫入文件

Golang:將 []int 寫入文件

Go
慕桂英546537 2021-07-29 13:00:21
我有一些數據 p []int,我想將它保存/加載到/從文件中加載。我應該將此切片轉換為[]byte并使用(如果是,如何?)func (f *File) Read(b []byte) (n int, err Error)func (f *File) Write(b []byte) (n int, err error)或者還有其他方法可以保存[]int到文件?
查看完整描述

2 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

您可以使用


file.WriteString(fmt.Sprintln(p))

一個完整的例子:


    /*path of the file test.txt : you have to change it*/

var path = "/Users/Pippo/workspace/Go/src/......./test.txt"


func main() {


    p := []int{1, 2, 3, 4, 5, 8, 99}

    fmt.Println(p)

    createFile()

    writeFile(p)


}


/*create file*/

func createFile() {


    // detect if file exists

    var _, err = os.Stat(path)


    // create file if not exists

    if os.IsNotExist(err) {

        var file, err = os.Create(path)

        if isError(err) {

            return

        }

        defer file.Close()

    }


    fmt.Println("==> done creating file", path)

}




/* print errors*/

func isError(err error) bool {

    if err != nil {

        fmt.Println(err.Error())

    }


    return (err != nil)

}


/*writeFile write the data into file*/

func writeFile(p []int) {


    // open file using READ & WRITE permission

    var file, err = os.OpenFile(path, os.O_RDWR, 0644)


    if isError(err) {

        return

    }

    defer file.Close()


    // write into file

    _, err = file.WriteString(fmt.Sprintln(p))

    if isError(err) {

        return

    }


    // save changes

    err = file.Sync()

    if isError(err) {

        return

    }


    fmt.Println("==> done writing to file")

}



查看完整回答
反對 回復 2021-08-02
  • 2 回答
  • 0 關注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號