84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
在python中,序列化一个包含多种数据类型的列表如下,
import msgpack data = ['abc', 12345, 1.2345] buf = msgpack.dumps(data) print(buf)
不知道golang下怎么使用,官方的msgpack好像只能序列同种类型的array; 另外的我想的办法是将array内的所有数据序列化一次,全部弄成字符串再使用array序列化,但是有点担心效率问题。
各位有好的办法也请告知在下~
光阴似箭催人老,日月如移越少年。
I solved it myself, using github.com/ugorji/go/codec, []interface{} can work normally.
package main import ( "bytes" "fmt" "github.com/ugorji/go/codec" ) func main() { mh := &codec.MsgpackHandle{RawToString: true} data := []interface{}{"abc", 12345, 1.2345} buf := &bytes.Buffer{} enc := codec.NewEncoder(buf, mh) enc.Encode(data) fmt.Printf("%x", buf) }
I solved it myself, using github.com/ugorji/go/codec, []interface{} can work normally.