84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
在python中,序列化一个包含多种数据类型的列表如下,
import msgpack data = ['abc', 12345, 1.2345] buf = msgpack.dumps(data) print(buf)
不知道golang下怎么使用,官方的msgpack好像只能序列同种类型的array; 另外的我想的办法是将array内的所有数据序列化一次,全部弄成字符串再使用array序列化,但是有点担心效率问题。
各位有好的办法也请告知在下~
光阴似箭催人老,日月如移越少年。
自己解决了,使用github.com/ugorji/go/codec,[]interface{}是可以正常工作的。
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) }
自己解决了,使用github.com/ugorji/go/codec,[]interface{}是可以正常工作的。