ホームページ  >  記事  >  バックエンド開発  >  TypeScriptインターフェイスをGo構造体に変換するにはどうすればよいですか?

TypeScriptインターフェイスをGo構造体に変換するにはどうすればよいですか?

WBOY
WBOY転載
2024-02-09 10:36:271135ブラウズ

如何将 TypeScript 接口转换为 Go 结构体?

php エディタ Xinyi では、TypeScript インターフェースを Go 構造に変換する方法を紹介します。フロントエンドで TypeScript を使用して開発する場合、データ構造を記述するインターフェイスを定義することがよくあります。 Go 言語を使用してバックエンドで開発する場合、これらのインターフェイスを対応する構造に変換する必要があります。この記事では、基本型、入れ子型、オプション型などから変換する方法を詳しく解説します。この記事のガイダンスを通じて、TypeScript インターフェイスを Go 構造に簡単に変換し、開発効率を向上させることができるようになります。

質問内容

typescriptで構築されたオブジェクトモデリングツールを変換して使えるようにしようとしています。

私がタイプスクリプトに持っているものは次のとおりです:

リーリー

だから私はこれを行うことができます:

リーリー

私の囲碁についての理解はこれまでしかありません:

リーリー

主にスキーマタイプ インターフェイスの動的な「キー」が原因で、少し行き詰まっています。Go でそれを複製する方法がわかりません...

回避策

[key string]: の部分は、キー タイプ string の辞書であることを意味します。 Go では、これは map[string]<some type> になります。

リーリー

または、schematype タイプを削除し、schema:

を変更します。 リーリー

さて、他のフィールドに関しては、定義すると奇妙に見えるため、ここで示したようには機能しない可能性が高くなります。

default は値であり、func() (何も返さない関数) ではありません。値の型がわからないため、型は interface {} または any である必要があります (1.18 以降 - interface {} のエイリアス) 。

transform - これは値を受け取り、変換して値を返す関数です - func(interface{}) インターフェース{}

このコンテキストで minlengthmaxlengthvalidate が何を表しているのかわかりません。なぜ JavaScript で配列なのか、またそれらをどのように判断するのかわかりません。 go はちょうど 2 です。

以上がTypeScriptインターフェイスをGo構造体に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。