龙赣华
2019-05-09 34db8697646d41c1dc26aecdc6ffc00f0efbfdb4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package main
 
import (
    "log"
 
    protomsg "./protomsg"
    "github.com/golang/protobuf/proto"
)
 
// 创建一条 sdkmsg 数据流信息
func buildSdkMsg() *protomsg.SdkMessage {
    var sdkmsg protomsg.SdkMessage
 
    sdk1 := "812b674b-2375-4589-919a-5c1c3278a972"
    sdk2 := "812b674b-2375-4589-919a-5c1c3278a971"
 
    task1 := &protomsg.TaskLabel{Taskid: "5b0902ae-b1bd-43c0-816d-0a87f1f859d1", Sdkids: []string{sdk1, sdk2}, Index: 0}
 
    sdkmsg.Cid = "cid0"
    sdkmsg.Data = []byte("this is test image")
    sdkmsg.Tasklab = task1
 
    return &sdkmsg
 
}
 
func main() {
    oldsdkmsg := buildSdkMsg()
    //test sdkmsg
 
    //encoding
    data, err := proto.Marshal(oldsdkmsg)
    log.Println(data)
 
    newsdkmsg := &protomsg.SdkMessage{}
    err = proto.Unmarshal(data, newsdkmsg)
    if err != nil {
        log.Fatal("unmarshaling error: ", err)
    }
    log.Println(newsdkmsg)
    for _, sdkid := range newsdkmsg.Tasklab.Sdkids {
        log.Println(sdkid)
 
    }
}