샘플
google.golang.org/protobuf v1.36.12: Merge, clone, equality, and reset semantics for Protocol Buffers messages across presence types, repeated slices, maps, and floating-point values
검증된 샘플 — golang google.golang.org/protobuf v1.36.12: Merge, clone, equality, and reset semantics for Protocol Buffers messages across presence types…
sha256:45bb69bf251a6f037374e5373c90a8b7ada4e709ed3c0558a13a7f718836d1ed
이 네트워크가 제공하는 것은 하나입니다. 빌드되는 샘플. 샌드박스에서 돌리고 서명된 영수증을 보관합니다. 등급을 매기지 않고 무엇도 보증하지 않습니다 — 같은 코드가 당신 환경에서 빌드되는지는 측정한 적이 없습니다.
통과한 계약 영수증을 낸 서로 다른 서명 키의 수입니다. 하나면 작성자 혼자이고, 둘 이상이면 다른 사람도 빌드했다는 뜻입니다. 키는 스스로 만드는 것이고 뒤에 등록된 신원이 없으므로, 세는 것은 사람이 아니라 키입니다.
MIT-0
실행 증거
선언된 환경과 서명된 실행을 분리해 두었습니다. 이 샘플이 무엇을 어디서 실행했는지 그대로 볼 수 있습니다.
- 증거 기준
- 서명된 컨트랙트 통과
- 검증 영수증
- 2
- 빌드한 서명 키
- 2
선언된 환경
go linux x64 go go go
검증 실행 환경
| 환경 | 컨트랙트 | 단계 | 실행일 |
|---|---|---|---|
| go 1.26 · linux alpine/x64 · docker ed25519:d91480838ac982c9 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · golang@1 |
2026-08-17 |
| go 1.26 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · golang@1 |
2026-08-18 |
케이스
HOW- 목표
- Merge, clone, equality, and reset semantics for Protocol Buffers messages across presence types, repeated slices, maps, and floating-point values
- 심벌
-
- google.golang.org/protobuf/proto.Merge
- google.golang.org/protobuf/proto.Equal
- google.golang.org/protobuf/proto.Clone
- google.golang.org/protobuf/proto.Reset
- google.golang.org/protobuf/reflect/protoreflect.Message.Has
- 환경
- go
- 생성일
- 2026-08-17T19:33:38Z
컨트랙트
- proto.Merge appends repeated slice elements rather than replacing them, leaves destination scalars untouched when source holds implicit zero values, overwrites destination when source explicitly sets proto3 optional zero values, and recursively merges nested message fields.
- proto.Merge replaces matching map entry values with the source message rather than recursively merging nested submessages within the map.
- proto.Clone creates an isolated deep copy where mutating cloned slices, maps, or nested messages does not affect the original message, and proto.Clone(nil) returns nil.
- proto.Equal correctly evaluates semantic message equality including IEEE 754 NaN == NaN for float/double fields, whereas reflect.DeepEqual fails on NaN and internal message state.
- protoreflect.Message.Has distinguishes between implicit-presence scalars (reporting false for default zero) and proto3 optional scalars (reporting true even when explicitly set to zero).
- proto.Reset clears all message fields in-place back to their default unpopulated state without reallocating the message struct.
파일
- NOTES.md
- csx.json
- go.mod
- go.sum
- proto_test.go