golangのアダプターパターン

王林
リリース: 2024-02-10 08:40:10
転載
879 人が閲覧しました

golang 中的适配器模式

golang のアダプター パターンは、互換性のないインターフェイスを互換性のあるインターフェイスに変換するのに役立つ一般的に使用される設計パターンです。アダプターを通じて、異なるシステムおよび異なるクラス間の相互運用性を実現し、コードの柔軟性と再利用性を向上させることができます。この記事では、PHP エディターの Banana がアダプター パターンの概念、アプリケーション シナリオ、実装方法を詳しく紹介し、読者がこの設計パターンをよりよく理解し、適用できるようにします。初心者でも経験豊富な開発者でも、この記事から実践的な知識とスキルを獲得し、Golang アダプター パターンについての理解を深められます。この楽しくて実用的なデザイン パターンを一緒に探ってみましょう。

質問内容

golangでアダプターパターンを作成しようとしているのですが、何が間違ったのかわかりません。 client.go でエラー

が表示される c.broker.placeorder 未定義 (タイプexchange.exchange にはフィールドまたはメソッド placeorder がありません)

main.go

リーリー

コンシューマー.ゴー

リーリー

client.go

リーリー

broker.go

リーリー

exchange.go

リーリー

paytm.go

package main

import (
    "context"
    "oms/consumer"
)

func main() {
    ctx := context.background()
    consumer.consumer(ctx)
}
ログイン後にコピー

回避策

broker パッケージからエクスポートされていないメソッドを呼び出そうとしています。 paytm パッケージの外部からこのメソッドを呼び出したい場合は、メソッドだけでなくインターフェイスでも名前を PlaceOrder に変更する必要があります。

エクスポート/非エクスポートのフィールドとメソッドの詳細については、こちらをご覧ください: https://golangbyexample.com/exported-unexported-fields-struct-go/

以上がgolangのアダプターパターンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!