色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go哪些類型不能轉換為json

李中冰2年前8瀏覽0評論

在go語言中,我們通常使用json來進行數(shù)據(jù)的序列化和反序列化,在此過程中可能會遇到一些類型無法被轉換為json的情況,下面我們一一介紹。

//golang中無法被序列化的數(shù)據(jù)類型如下
//1. chan類型
ch := make(chan int)
json.Marshal(ch) //報錯
//2. complex64和complex128類型
c64 := complex(1, 2)
json.Marshal(c64) //報錯
c128 := complex128(1+2i)
json.Marshal(c128) //報錯
//3.函數(shù)類型
sum := func(x, y int) int {
return x + y
}
json.Marshal(sum) //報錯
//4. interface{}類型
var i interface{} = "hello"
json.Marshal(i) //報錯
//5. map類型中鍵的類型必須是string類型
m := map[int]string{1: "a", 2: "b"}
json.Marshal(m) //報錯
//6. slice類型中不能含有函數(shù)和不可導出的字段
type person struct {
name string
age int
}
p := person{"張三", 18}
s := []person{p}
json.Marshal(s) //報錯

以上就是在go語言中無法被轉化為json的數(shù)據(jù)類型以及相應的報錯信息。在使用json進行數(shù)據(jù)序列化的時候需要注意這些數(shù)據(jù)類型,確保代碼的正確性。