`strings.EqualFold` が最初に長さの比較を行わない理由はありますか?
php 編集者 Apple、今日は、文字列が等しいかどうかを比較するときに、`strings.EqualFold` 関数が最初に長さの比較を実行しない理由について説明します。文字列の比較では、大文字と小文字を無視して比較するために `strings.EqualFold` 関数をよく使用します。しかし、なぜこの関数が最初に長さの比較を実行しないのか疑問に思う人もいるかもしれません。次の記事では、この質問に答え、この設計の理論的根拠について説明します。見てみましょう!
質問の内容
大文字と小文字を区別しない文字列を比較する一般的な方法は、最初に長さを明示的にチェックすることです。 リーリー
現在の実装では 2 つの入力文字列のいずれかが使い果たされた場合にのみ長さチェックを実行するため、これは回避策と思われます。パフォーマンスまたはその他の理由で、最初に長さのチェックを行わない理由はありますか? 解決策簡単な答えは、Go では 2 つの文字列の長さが異なっていても、単純な Unicode の大文字と小文字の折りたたみでは等しいためです (したがって、最初に長さを比較しても大文字と小文字の折りたたみが等しいかどうかは判断されません)。
より長い答えは次のとおりです。Go は文字列を
UTF-8 バイトとしてメモリに保存し、組み込みの len() 関数は UTF -8 を報告します。エンコードするバイト数。 UTF-8 は可変長文字エンコーディングです。単一の Unicode コード ポイントに対して異なるバイト数を使用する場合があるため、一致する大文字と小文字を区別するコード ポイントでは UTF-8 の異なるバイト数が使用される場合があります。
リーリー
これは出力されます (Go Playground で試してください): リーリー
以上が`strings.EqualFold` が最初に長さの比較を行わない理由はありますか?の詳細内容です。詳細については、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でテーブル駆動型のテストを使用して説明します。これは、テストのテーブルを使用して複数の入力と結果を持つ関数をテストする方法です。読みやすさの向上、重複の減少、スケーラビリティ、一貫性、および

この記事では、go.modを介してGOモジュールの依存関係の管理、仕様、更新、競合解決をカバーすることについて説明します。セマンティックバージョンや定期的な更新などのベストプラクティスを強調しています。
