序列化-基础类型序列化
基础类型序列化
前面讲json的时候有提到,任何数据类型都可以通过json来表示。可以递推理解为:任何数据类型都可以进行序列化。
因此,普通的int数组、切片、普通的 string 变量等基础数据类型也都可以完成序列化。
示例代码:
// int 类型切片序列化测试函数
func sliceSerial2() {
var s = []int{1,2,3,4,5,6}
// 将 slice 使用 Marshal() 函数进行序列化
data, err := json.Marshal(s)
if err != nil {
fmt.Println("Marshal err:", err)
return
}
// 查看序列化后的 json 字符串
fmt.Println("普通slice序列化后 = ", string(data))
}
// string 类型变量序列化函数
func varSerial() {
var str string = "hoho haha"
// 将 slice 使用 Marshal() 函数进行序列化
data, err := json.Marshal(str)
if err != nil {
fmt.Println("Marshal err:", err)
return
}
// 查看序列化后的 json 字符串
fmt.Println("var序列化后 = ", string(data))
}
func main() {
// 测试int类型切片序列化
sliceSerial2()
// 测试普通变量序列化
varSerial()
}
可以看到,基础数据类型由于数据本身没有key-value这种存储形式,因此序列化后,得到的仅仅是字符串类型数据,实际使用时无太大意义,因此很少使用。