0
私は現在Goと一緒に遊んでいますが、データ型を定義するパターンが何か不思議です。例えば、Bencodeをとり、それをGoデータ構造として表す。Golang構造体定義パターン
data BEncode = BInt Integer
| BString L.ByteString
| BList [BEncode]
| BDict (Map String BEncode)
in C, we can do something like this
struct Bencoding;
typedef struct ListNode {
struct Bencoding *cargo;
struct ListNode *next;
} ListNode;
typedef struct DictNode {
char *key;
struct Bencoding *value;
struct DictNode *next;
} DictNode;
typedef struct Bencoding {
BType type;
union {
long long val; // used when type == BInt
ListNode *list; // used when type == BList
char *str; // used when type == BString
DictNode *dict;
} cargo; // data
} Bencoding;
Golang内のデータ構造のこれらの種類を定義するための最良の方法は何ですか。ゴランとパターン/良い練習がありますか?
構造体は、移動中にのみオブジェクト型であり、あなたはまた、答えを見つけるために十分知っている必要があります質問をするために十分知っていれば、それらはC.と同じルールのほとんどに従ってください。 – evanmcdonnal