func ExampleCompile() { a := &test.NinOptNative{ Field4: proto.Int64(1234), Field7: proto.Int32(123), } fp1, err := fieldpath.NewInt64Path("test", "NinOptNative", test.ThetestDescription(), "Field4") if err != nil { panic(err) } fp2, err := fieldpath.NewSint32Path("test", "NinOptNative", test.ThetestDescription(), "Field7") if err != nil { panic(err) } buf, err := proto.Marshal(a) if err != nil { panic(err) } u1 := fieldpath.NewInt64Unmarshaler(fp1, &handler64{}) u2 := fieldpath.NewSint32Unmarshaler(fp2, &handler32{}) c := fieldpath.Compile(u1, u2) err = c.Unmarshal(buf) if err != nil { panic(err) } // Output: // 1234 // 123 }
func ExampleUnmarshaler() { a := &test.NinOptNative{ Field4: proto.Int64(1234), } fp, err := fieldpath.NewInt64Path("test", "NinOptNative", test.ThetestDescription(), "Field4") if err != nil { panic(err) } buf, err := proto.Marshal(a) if err != nil { panic(err) } h := &handler{} u := fieldpath.NewInt64Unmarshaler(fp, h) err = u.Unmarshal(buf) if err != nil { panic(err) } // Output: // 1234 }