質問: len() 呼び出しは文字列 (string) とスライス ([]int) 定数時間 (O(1))操作?
答え: はい、len() 呼び出しは文字列とスライスの両方に対する O(1) 操作です。
文字列ヘッダーには、バッキング配列へのポインターとその長さが含まれます。 len() 関数は文字列ヘッダーから長さフィールドを返すだけで、O(1) 操作になります。
スライスには長さ、容量、および基になるオブジェクトへのポインタがあります。配列。文字列と同様に、len() 関数はスライス ヘッダーに格納されている長さフィールドを返し、時間計算量は O(1) になります。
Builtin.go 説明:
builtin.go ファイルには、len() などの Go の事前定義された識別子のドキュメントが含まれています。あなたが引用した抜粋は、このファイルに文書化された項目が実際の組み込みパッケージの一部ではなく、言語固有の識別子の文書を提供するためにのみ存在することを示しています。
以上が文字列とスライスに対する Go の `len()` 関数は定数時間 (O(1)) ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。