Golang:将 []int 写入文件

我有一些数据 p []int,我想将它保存/加载到/从文件中加载。我应该将此切片转换为[]byte并使用(如果是,如何?)


func (f *File) Read(b []byte) (n int, err Error)

func (f *File) Write(b []byte) (n int, err error)

或者还有其他方法可以保存[]int到文件?


慕桂英546537
浏览 196回答 2
2回答

POPMUISE

您可以使用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")}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go