PHP の型制約は、関数またはメソッドのパラメーターで受け入れられるパラメーターの型を定義できる強力な機能です。基本的なデータ型に限定されるだけでなく、PHP ではカスタム クラス、インターフェイス、配列、反復可能なオブジェクトの型制約を定義することもできます。この記事では、コードをより適切に制御および保護するために、任意のチャネル タイプの型制約を定義する方法を紹介します。初心者でも経験豊富な開発者でも、これらのヒントはコードをより読みやすく、保守しやすくするのに役立ちます。
指定されたチャネルの使用率を返す関数を定義しようとしています:
リーリー問題は、func シグネチャを変更しないと、これが最初のチャネルでは機能するが、2 番目と 3 番目のチャネルでは機能しないことです。ただし、署名を変更する場合は、受信のみまたは送信のみのチャネルを選択する必要があります。ゼロパスチャネルを定義する方法はありますか?例えば。読み取りも書き込みもできません。cap
関数と len
関数を使用したいだけです。
理想的には、channelusagepct
はこれら 3 つのケースのいずれでも機能するはずです。
チャネルの可能な 3 つの形式すべてを許可するには、個別の型制約を定義する必要があります。
リーリーこれには、使用時に t
の型を使用して型制約をインスタンス化する必要があります。これは、別の型パラメーターを使用して行うことができます:
インスタンス化のため、型全体を推論することはできませんが、チャネル要素の型のみを指定する必要があります。
リーリーhttps://www.php.cn/link/ca279b8542ab30bd43469423ce703e66
以上が任意のチャネルタイプのタイプ制約を定義する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。