特定の型を除外する制約を記述することは可能ですか?
php editor Strawberry は、特定の型を除外する制約の作成に関する記事を提供します。 PHP では、型制約を使用して関数やメソッドのパラメーターの型を制限できますが、特定の型を除外する制約を記述することは可能ですか?答えは「はい」です。 「!」演算子を使用すると、型制約から特定の型を除外できるため、より正確なパラメーターの型制限を実現できます。この記事では、「!」演算子を使用して型を除外する方法を詳しく説明し、実用的なコード例を示します。この興味深いトピックを一緒に探ってみましょう!
質問内容
type nonstring interface { // ??? } func myfunc[t nonstring](v t) t { return v } func main() { myfunc(1) // ok myfunc(false) // ok myfunc([]string{}) // ok myfunc("hi, boy!") // i hope a comiler error occurs here! }
私が望むものは、上記のコードのコメントに記載されています。
golangでは可能でしょうか?
オリジナルシーン
次の 2 つの関数があります:
リーリーany2string(v)
は、任意の v
を文字列に変換できます。ただし、v
が整数の場合は、integer2string(v)
の方がはるかに高速です。
したがって、コンパイラには、より高速な integer2string(v)
が適用可能な場合に が any2string(v) を呼び出さないようにしたいと考えています。
どのタイプでも満たせない制約を定義できます。例:
リーリー
この制約では、型が正確にint であり、メソッド
foo() を持つ必要があります。事前に宣言された型にはメソッドを定義できないため、この制約を満たすことは不可能です。
関数が離散量タイプを除くすべてのタイプで同一である場合は、タイプ スイッチを使用するだけです:
リーリー
any 型の通常のパラメータは問題なく動作するため、ジェネリックスも必要ありません。
以上が特定の型を除外する制約を記述することは可能ですか?の詳細内容です。詳細については、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.modを介してGOモジュールの依存関係の管理、仕様、更新、競合解決をカバーすることについて説明します。セマンティックバージョンや定期的な更新などのベストプラクティスを強調しています。

この記事では、コードのランタイム操作に使用されるGoの反射パッケージについて説明します。シリアル化、一般的なプログラミングなどに有益です。実行やメモリの使用量の増加、賢明な使用と最高のアドバイスなどのパフォーマンスコストについて警告します
