ホームページ > バックエンド開発 > Golang > Go で読み取られた文字列から改行文字を効率的に削除するにはどうすればよいですか?

Go で読み取られた文字列から改行文字を効率的に削除するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-26 07:23:34
オリジナル
718 人が閲覧しました

How Can I Efficiently Remove the Newline Character from a String Read in Go?

Go での効率的な部分文字列抽出

コンソールからの入力を処理する場合、さらなる処理のために行全体を読み取るのが一般的です。ただし、bufio.ReadString() を使用すると、改行文字が問題を引き起こす可能性があります。これに対処するために、改行文字を手動でトリミングすることを提案する人もいます。

input, _ := src.ReadString('\n')
inputFmt := input[0:len(input) - 2] + "" // Manual newline trimming
ログイン後にコピー

もっと洗練された解決策はありますか?

この質問に答えるには、明確にする必要があります。 Go の 2 つの重要な概念:

  • スライス: C スタイルの配列、Go スライスは本質的にその長さをバイト単位で保存します。したがって、スライスする前に長さを明示的に計算する必要はありません。
  • String Storage: Go 文字列は null で終了していないため、抽出時に null バイトを削除する必要はありません。

これらの概念を念頭に置いて、次のアプローチはより慣用的で効率的な方法を提供します。解決策:

input, _ := src.ReadString('\n')
inputFmt := input[:len(input) - 1]
ログイン後にコピー

このバージョンでは、入力文字列を最後の文字まで単純にスライスします (半角文字であると仮定します)。これにより、不必要な文字列操作が回避され、効率的な部分文字列抽出が保証されます。

以上がGo で読み取られた文字列から改行文字を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート