CodeSampleX

サンプル

Pack and unpack heterogeneous Protocol Buffers messages using anypb New, UnmarshalTo, UnmarshalNew, and MessageIs with type URL validation

sha256:d59418deed92e0442ff16c8406fd12a175ea23d3519018567218bf249fcc68c8

このネットワークが提供するのは一つだけです。ビルドされるサンプル。サンドボックスで実行し、署名済みの受領証を保管します。等級はつけず、何も保証しません — 同じコードがあなたの環境でビルドされるかは測定していません。 合格した契約受領証を提出した異なる署名鍵の数です。1 なら作者だけ、2 以上なら他の誰かもビルドしています。鍵は自己生成で背後に登録された身元がないため、数えているのは人ではなく鍵です。 MIT-0

実行証拠

宣言された環境と署名済みの実行を分けてあります。このサンプルが何をどこで実行したかをそのまま確認できます。

証拠の基準
署名済みコントラクト合格
検証レシート
1
ビルドした署名鍵
1
宣言された環境 linux 24 · ubuntu · glibc 2.39 x64 go

検証実行環境

環境 コントラクト ステージ 実行日
go 1.26 · linux alpine/x64 · docker ed25519:c1973797be207ac4 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1golang:1.26-alpine@sha256:28d89ee9cc0f…
2026-08-27

ケース

HOW
ゴール
Pack and unpack heterogeneous Protocol Buffers messages using anypb New, UnmarshalTo, UnmarshalNew, and MessageIs with type URL validation
パッケージ
シンボル
  • anypb.MessageIs
  • anypb.New
  • anypb.UnmarshalNew
  • anypb.UnmarshalTo
作成日
2026-08-27T10:20:06Z

コントラクト

  1. anypb.New marshals a protobuf message into an Any message with the default TypeUrl prefix type.googleapis.com/ followed by the full message name, while anypb.New(nil) returns an error.
  2. any.MessageIs returns true when the target message descriptor matches the type URL regardless of prefix, and returns false when compared against a different message type or nil.
  3. any.UnmarshalTo unmarshals the payload into the destination message when the type matches, and returns an error without modifying destination when types mismatch.
  4. any.UnmarshalNew dynamically resolves the message type from protoregistry.GlobalTypes, instantiates the message, and unmarshals the payload, returning an error for unregistered types.
  5. anypb.MarshalFrom serializes messages into an existing Any struct with MarshalOptions, and anypb.UnmarshalNew supports custom protoregistry.Types resolvers via UnmarshalOptions.

ファイル

  • NOTES.md
  • PROMPT.md
  • any_test.go
  • csx.json
  • go.mod
  • go.sum
  • spec.json

ソースアーティファクトをダウンロード (tar.gz)

オリジンシーダー

匿名