[解決済み] Goで部分文字列を抽出する
2022-03-15 06:07:17
質問
コンソールから行全体を読み込んで(空白も含めて)処理しようとしています。bufio.ReadStringを使うと改行文字も一緒に読み込まれてしまうので、改行文字を切り捨てるために以下のようなコードを思いつきました。
input,_:=src.ReadString('\n')
inputFmt:=input[0:len(input)-2]+"" //Need to manually add end of string
もっと慣用的な方法はないのでしょうか?つまり、部分文字列を抽出するときに最後のヌルバイトを処理してくれるライブラリは既にあるのでしょうか?
(で改行文字を除いた行を読み取る方法が既にあることは知っています)。 go readline -> 文字列 しかし、私はもっとエレガントな文字列操作を探しているのです)。
どのように解決するのですか?
スライスの動作や文字列の保存形式がC言語と違うので、混乱しているようですね。
-
Go の任意のスライスには長さ (バイト単位) が格納されますから、そのコストを気にする必要はありません。
len
を数える必要はありません。 -
囲碁の文字列はヌル終端ではないので、ヌルバイトを削除する必要はなく、また
1
を追加してスライスした後、空の文字列を追加します。
最後の1文字を削除するには(1バイトの場合)、単に次のようにします。
inputFmt:=input[:len(input)-1]
関連
-
[解決済み] テスト
-
[解決済み] 文字列の先頭と末尾のホワイトスペースを削除するにはどうすればよいですか?
-
GOROOT に xxx というパッケージがないというエラーが GoLand から報告される
-
[解決済み] go getとgo installの違いは何ですか?
-
[解決済み] Goでfloat64をintに変換する
-
[解決済み] 2枚のスライスの等価性を確認する
-
[解決済み】Goで設定を処理する方法【終了しました
-
[解決済み】指定したファイル内のテストケースを実行するには?
-
[解決済み】Goの構造体にデフォルト値を設定する方法
-
[解決済み】gopathを使わずにローカルパッケージをインポートする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】vsコードの解決方法 - goplsコマンドが使用できません。
-
[解決済み] Goをアンインストールする方法を教えてください。
-
[解決済み] GO言語:致命的なエラー:すべてのゴルーチンがスリープしている - デッドロック
-
[解決済み] Cgo: すみません、未実装です: 64ビットモードはコンパイルされていません。
-
[解決済み] インポート "google/api/annotations.proto" が見つからないか、エラーが発生しました。依存関係として追加するにはどうすればよいですか?
-
[解決済み] Goのペア/タプルデータ型
-
[解決済み] Goでfloat64をintに変換する
-
[解決済み] スライスのメソッドを含む
-
[解決済み】指定したファイル内のテストケースを実行するには?
-
[解決済み】Goはサードパーティ・パッケージをどのようにアップデートしますか?