プロトブフ列挙タイプと弦定数の関連付け
プロトコルバッファー(ProtoBUF)を使用する場合、コードの読み取りとデバッグを容易にするために、列挙の種類を友好的な文字列の説明に関連付ける必要があることがよくあります。 Protobuf .proto
ファイル自体は、列挙定義への文字列定数の追加を直接サポートしていませんが、ProtoBufコンパイラはコードを自動的に生成して、列挙値と文字列名の間のマッピングを実装します。
簡単な列挙定義を見てみましょう。
enum myenum { value_a = 0; value_b = 1; value_c = 2; }
この定義によれば、コンパイラは生成されたコードに関数またはマッピングテーブルを作成して、列挙値と対応する文字列名( "value_a"、 "value_b"、 "value_c")を変換します。
さまざまなプログラミング言語の実装方法:
C: ProtoBufコンパイラは
const std::string& MyEnum_Name(int value)
のような関数を生成します。この関数は、列挙値を入力として取得し、対応する列挙名文字列を返します。入力値が無効な場合、空の文字列が返されます。GO: GOでは、2つのマッピングテーブルが生成されます。varmyenum_name
var MyEnum_name = map[int32]string{...}
name)andvar MyEnum_value = map[string]int32{...}
(name to value)。これにより、GOコードで双方向変換を簡単に実行できます。Java: Goと同様に、Javaはマッピングテーブルも生成して、列挙値と文字列名の間の変換を容易にします。
Python: Pythonも同様の方法で実装されており、列挙された値と文字列名を簡単に変換する方法を提供します。
.protoファイルで文字列定数を明示的に定義する必要はありません。
.proto
ファイルの各列挙値に文字列定数を明示的に追加する必要はないことに注意する必要があります。 ProtoBufコンパイラは、列挙定義に基づいてこれらのマッピング関係を自動的に生成し、生成されたコードで対応するアクセスメソッドを提供します。
要約:
Protobufのデザインは、列挙タイプと文字列定数との関連性の問題を巧みに解決します。コンパイラによって自動的に生成されたコードを介して、これらのマッピング関係をさまざまなプログラミング言語で簡単に使用して、コードの読みやすさと保守性を向上させることができます。特定のプログラミング言語の実装の詳細をより深く理解する必要がある場合は、ProtoBufの公式ドキュメントを参照してください。
以上がProtobufおよび関連文字列定数の列挙タイプを定義する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

WebStorm Mac版
便利なJavaScript開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ホットトピック



