Golang でカプセル化されたモデルの共通機能を実装するにはどうすればよいですか?
Golang では、構造体とメソッドを使用して、カプセル化されたモデルの共通機能を実装できます。構造体は、関連するデータとメソッドをカプセル化するために使用できるカスタム データ型です。メソッドは構造体に関連付けられた関数であり、メソッド内で構造体のメンバーにアクセスして操作できます。関数を構造体として定義すると、関数を特定の構造体に関連付けて、カプセル化されたモデルで一般的な操作を実装できます。 Golang では、レシーバーを使用してメソッドが属する構造を指定できます。レシーバーは値型またはポインター型にすることができ、ニーズに応じて適切なレシーバー型を選択してください。構造メソッドを定義することで、フィールド値の取得または設定、特定の操作の実行などの一般的な操作をカプセル化されたモデルに実装できます。このようにして、構造体のメソッドを呼び出すことでカプセル化されたデータにアクセスして操作できるようになり、より柔軟で再利用可能なコードが実現します。
質問の内容
モデルとして 2 つのパッケージがあります:
###カテゴリー:### リーリー ###教師:### リーリーreaddata 関数が繰り返し実行されていることがわかります。これで、
class.readdata()と
Teacher.readdata() を使用してチャネルからデータを呼び出すことができます。
2 つのパッケージで使用する readdata() 関数を作成するにはどうすればよいですか?
次のようなジェネリックスを使用する基本パッケージを作成してみました:
しかし、
m.modelsが見つかりません。つまり、
Teachers.Teachers または classes.classes
は使用できません
この場合の対処法を教えてください解決策
ジェネリックス (go 1.18 で導入) を使用します。 json からデコードされてチャネルに渡される値を表すパラメータ型を使用して
readdata()関数を作成します。
注: エラーをチェックし、エラーを報告する必要があります (base.readjson()
からのエラーを含む)。
呼び出し例:
リーリー
読み取り値の数を返すのは冗長であることに注意してください。返されたチャネルを正しく閉じたので、呼び出し元は返されたチャネルで
を使用でき、チャネルは送信されたすべての値を正しく受信して終了します。
また、チャネルに戻るときにすべての値が準備完了 (デコード) されているため、この同時実行は冗長であり、効率が低下するだけであることにも注意してください。デコードされた値のスライスがあるので、それを返し、呼び出し元にそれを処理する方法 (同時または非同時) を選択させます。
したがって、
は次のようになります:
リーリー また、入力 json オブジェクトにフィールドが 1 つしかない場合、fieldname
を渡す必要はなく、次のようにデコードされた
マップから値を取得できることにも注意してください。 # #
リーリー
これを呼び出すのは簡単です:
リーリー
以上がGolang でカプセル化されたモデルの共通機能を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









OpenSSLは、安全な通信で広く使用されているオープンソースライブラリとして、暗号化アルゴリズム、キー、証明書管理機能を提供します。ただし、その歴史的バージョンにはいくつかの既知のセキュリティの脆弱性があり、その一部は非常に有害です。この記事では、Debian SystemsのOpenSSLの共通の脆弱性と対応測定に焦点を当てます。 Debianopensslの既知の脆弱性:OpenSSLは、次のようないくつかの深刻な脆弱性を経験しています。攻撃者は、この脆弱性を、暗号化キーなどを含む、サーバー上の不正な読み取りの敏感な情報に使用できます。

この記事では、プロファイリングの有効化、データの収集、CPUやメモリの問題などの一般的なボトルネックの識別など、GOパフォーマンスを分析するためにPPROFツールを使用する方法について説明します。

この記事では、GOでユニットテストを書くことで、ベストプラクティス、モッキングテクニック、効率的なテスト管理のためのツールについて説明します。

Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

この記事では、GOプログラミングのGo FMTコマンドについて説明します。これは、公式スタイルのガイドラインに準拠するためのコードをフォーマットします。コードの一貫性、読みやすさ、およびスタイルの議論を削減するためのGO FMTの重要性を強調しています。 Best Practices fo

バックエンド学習パス:フロントエンドからバックエンドへの探査の旅は、フロントエンド開発から変わるバックエンド初心者として、すでにNodeJSの基盤を持っています...

この記事では、Debianシステムの下でPostgreSQLデータベースを監視するためのさまざまな方法とツールを紹介し、データベースのパフォーマンス監視を完全に把握するのに役立ちます。 1. PostgreSQLを使用して監視を監視するビューPostgreSQL自体は、データベースアクティビティを監視するための複数のビューを提供します。 PG_STAT_REPLICATION:特にストリームレプリケーションクラスターに適した複製ステータスを監視します。 PG_STAT_DATABASE:データベースサイズ、トランザクションコミット/ロールバック時間、その他のキーインジケーターなどのデータベース統計を提供します。 2。ログ分析ツールPGBADGを使用します
