Protobuf 정의에 필드 주석 통합
protobuf 정의 내에서 GORM이 제공하는 필드 주석을 활용하려는 개발자는 부재로 인해 문제에 직면할 수 있습니다. Protobuf 3 구문의 기본 날짜/시간 유형입니다.
이 문제를 해결하기 위해 후처리 스크립트를 사용하여 생성된 proto 파일을 원하는 GORM 주석으로 보강할 수 있습니다. 예를 들어 다음 protobuf 프로필 정의가 있다고 가정해 보겠습니다.
<code class="protobuf">message Profile { uint64 id = 1; string name = 2; bool active = 3; }</code>
후처리에 다음 스크립트("gorm.sh")를 사용할 수 있습니다.
<code class="bash">#!/bin/bash g () { sed "s/json:\",omitempty\"/json:\",omitempty\" gorm:\"\"/" } cat \ | g "id" "primary_key" \ | g "name" "varchar(100)" \ > .tmp && mv {.tmp,}</code>
스크립트를 호출하여 생성된 protobuf 파일(예: ./gorm.sh profile/profile.pb.go)에서 결과 출력은 다음과 같습니다.
<code class="protobuf">//... type Profile struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty" gorm:"type:primary_key"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty" gorm:"type:varchar(100)"` Active bool `protobuf:"varint,3,opt,name=active,proto3" json:"active,omitempty"` } //...</code>
이 접근 방식을 사용하면 GORM 필드 주석을 protobuf 정의에 통합할 수 있습니다. 맞춤형 구현 또는 타사 라이브러리가 필요합니다.
위 내용은 GORM 필드 주석을 Protobuf 정의에 통합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!