囲碁を学ぶための簡単なコンソールゲームを開発していますが、他の言語にはない一見単純な問題で行き詰まってしまいました。 Goでは問題ありませんが、Goではほぼ不可能のようです。
次のような構造体のフィールドとしてインターフェイスをマップしました:
リーリーマップを反復処理し、マップに格納されているアイテムごとに render()
メソッドを呼び出す必要があります (すべてのアイテムが render()
メソッドを実装していると仮定します。たとえば、 js または php、これは問題にはなりませんが、私は go で一日中壁に頭をぶつけていました。
次のようなものが必要です:
リーリーこれは機能しませんでしたが、タイプを指定して各項目を個別に手動で呼び出すと、機能しました。 リーリー
マップ内の各アイテムに対してrender() メソッドを呼び出す方法は?または、この問題を解決するためのより良い/別の方法がある場合は、ここで途方に暮れているので教えてください。
リーリー
次に、アサーション マップ要素を入力し、そのメソッドが実装されている限り render を呼び出すことができます。 リーリー何かがレンダリング可能かどうかをテストするには、次を使用します:
リーリー以上が「interface{}」のマップを反復処理し、Golang のすべての項目に対して同じメソッドを呼び出しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。