Go中如何通过Gob包序列化二进制数据
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,Go中如何通过Gob包序列化二进制数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。下面给大家介绍了如何基于 JSON
千家信息网最后更新 2025年01月31日Go中如何通过Gob包序列化二进制数据
Go中如何通过Gob包序列化二进制数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
下面给大家介绍了如何基于 JSON 和 CSV 格式序列化数据到文本文件,除此之外,Go 官方还提供了 encoding/gob
包将数据序列化为二进制流以便通过网络进行传输。
我们在前面 Go 入门教程中已经介绍过 Gob 包作为二进制数据编解码工具的基本使用,这里简单演示下如何将 Gob 编码后的二进制数据写入磁盘文件:
package main
import (
"bytes"
"encoding/gob"
"fmt"
"io/ioutil"
)
type Article struct {
Id int
Title string
Content string
Author string
}
// 写入二进制数据到磁盘文件
func write(data interface{}, filename string) {
buffer := new(bytes.Buffer)
encoder := gob.NewEncoder(buffer)
err := encoder.Encode(data)
if err != nil {
panic(err)
}
err = ioutil.WriteFile(filename, buffer.Bytes(), 0600)
if err != nil {
panic(err)
}
}
// 从磁盘文件加载二进制数据
func read(data interface{}, filename string) {
raw, err := ioutil.ReadFile(filename)
if err != nil {
panic(err)
}
buffer := bytes.NewBuffer(raw)
dec := gob.NewDecoder(buffer)
err = dec.Decode(data)
if err != nil {
panic(err)
}
}
func main() {
article := Article{
Id: 1,
Title: "基于 Gob 包编解码二进制数据",
Content: "通过 Gob 包序列化二进制数据以便通过网络传输",
Author: "学院君",
}
write(article, "article_data")
var articleData Article
read(&articleData, "article_data")
fmt.Printf("%#v\n", articleData)
}
运行上述代码,可以正常解码出二进制数据,说明通过 Gob 包编解码成功:
在当前目录下也可以看到生成的 article_data
文件,其中包含的是二进制格式的编码数据:
什么是go
go是golang的简称,golang 是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,其语法与 C语言相近,但并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
数据
二进制
文件
序列
磁盘
功能
格式
编码
网络
语言
传输
帮助
清楚
成功
相近
代码
入门教程
内容
函数
发型
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
奉贤区国内网络技术展示
信息网络安全监察这个专业如何
数据库 数据 存储方法
临沂海创网络技术
湖南株洲互联网服务器云空间
软件开发用戴尔哪个系列好
怎么让自己的服务器被外网访问
崩坏三服务器怎么换文件
水星路由器显示服务器无响应
vb找不到数据库怎么办
王者荣耀服务器被迫关闭
软件开发敏捷文化现象定义
上海云鑫网络技术有限公司
复仇下载软件开发
宁夏企业党建软件开发专业制作
数据库超键啥意思
UAP连接不上数据库
中国平安互联网科技金融有限公司
网络技术的评价标准
中试服务数据库
ftp服务器到公网安全么
数据库 sql创建视图
找软件开发外包公司哪家好
如何创建数据库只读账号
软件开发敏捷文化现象定义
服务器cpu风扇声音大
服务器的放置地方的防护
算力服务器的海关编码
软件开发团队百度文库
服务器最高有多少个cpu