前言:
目前我们对“golang 读写文件”大致比较关怀,姐妹们都想要分析一些“golang 读写文件”的相关资讯。那么小编也在网摘上汇集了一些对于“golang 读写文件””的相关文章,希望我们能喜欢,兄弟们快快来学习一下吧!本文介绍使用 encoding/gob 包读写二进制文件的方法。
gob是Golang自带的一个数据结构序列化的编码/解码工具,和JSON、XML、Google 的 protocol buffers类似。gob编码使用Encoder,解码使用Decoder。一种典型的应用场景就是RPC(remote procedure calls)。
接下来演示一下序列化数据后保存到本地,再反序列化本地的数据。
序列化数据后保存到本地:
package mainimport ( "encoding/gob" "fmt" "os")func main() { data := "测试读写二进制文件" file, err := os.Create("bin") // 创建文件 if err != nil { fmt.Println("文件创建失败", err.Error()) return } defer file.Close() encoder := gob.NewEncoder(file) err = encoder.Encode(data) if err != nil { fmt.Println("编码错误", err.Error()) return }}反序列化本地的数据
package mainimport ( "encoding/gob" "fmt" "os")func main() { file, err := os.Open("bin") if err != nil { fmt.Println("文件打开失败", err.Error()) return } defer file.Close() decoder := gob.NewDecoder(file) var data string err = decoder.Decode(&data) if err != nil { fmt.Println("解码失败", err.Error()) return } fmt.Println(data)}
更多关于 encoding/gob 的内容请参考此包的源代码。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #golang 读写文件