Go读写文件

Posted hualou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go读写文件相关的知识,希望对你有一定的参考价值。

Go序列化和反序列化

package main

import (
   "bufio"
   "encoding/json"
   "fmt"
   "os"
)

type Monster struct {
   Name  string
   Age   int
   Skill string
}

func (m *Monster) Store(path string) {
   b, err := json.Marshal(m)
   if err != nil {
      return
   }
   f, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE, 0666)
   writer := bufio.NewWriter(f)
   n, err := writer.WriteString(string(b))
   fmt.Printf("共写入了%d个字节", n)
   defer f.Close()
   writer.Flush()

}

func (m *Monster) Restore(path string) {
   f, _ := os.OpenFile(path, os.O_RDONLY, 0666)
   reader := bufio.NewReader(f)
   fileInfo, _ := os.Stat(path)
   s := make([]byte, fileInfo.Size())
   _, error := reader.Read(s)
   //content, error := ioutil.ReadAll(f)
   //fmt.Println(content)
   fmt.Println(s)
   if error != nil {
      fmt.Print(error)
      return
   }
   json.Unmarshal(s, &m)
   defer f.Close()
}
func main() {
   //monster := Monster{"绿巨人", 36, "变身"}
   var monster2 Monster
   path := "/Users/xiahualou/Public/OneDrive/GoDevelopment/src/gocode/project18/main/1.txt"
   //monster.Store(path)
   monster2.Restore(path)
   fmt.Print(monster2)




以上是关于Go读写文件的主要内容,如果未能解决你的问题,请参考以下文章

go语言基础-文件读写操作

Go 终端读写 && 文件读写

Go读写文件

npm : 无法加载文件 D:softcodeProcess ode ode_global pm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micr +(代码片段

Go的文件读写几种方法

Go的文件读写几种方法