[解決済み] goで文字列の連結を効率的に行う方法
2022-03-19 08:18:03
質問
囲碁では
string
はプリミティブ型です。つまり、読み取り専用で、操作するたびに新しい文字列が生成されます。
では、出来上がった文字列の長さを知らずに何度も文字列を連結したい場合、どのような方法があるのでしょうか?
素朴な方法としては
var s string
for i := 0; i < 1000; i++ {
s += getShortStringFromSomewhere()
}
return s
が、これではあまり効率がよくないようです。
解決方法は?
新しい方法
Go 1.10 からは
strings.Builder
型を使用します。
詳しくはこの回答をご覧ください。
.
旧来の方法
を使用します。
bytes
パッケージを使用します。を搭載しています。
Buffer
を実装したタイプです。
io.Writer
.
package main
import (
"bytes"
"fmt"
)
func main() {
var buffer bytes.Buffer
for i := 0; i < 1000; i++ {
buffer.WriteString("a")
}
fmt.Println(buffer.String())
}
これはO(n)時間で行う。
関連
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] JavaScriptで複数行の文字列を作成する
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] PowerShellで文字列と変数を連結する方法は?
-
[解決済み] Sed を使って文字列を含む行全体を置換する
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] YAML の文字列を複数行に渡って分割するには?
-
[解決済み] textとvarcharの違い(character varying)
-
[解決済み] Goで複数行の文字列はどのように書くのですか?
-
[解決済み] Goでint値をstringに変換する方法は?
-
[解決済み] grepを使ってフォルダ内の単語を検索するにはどうすればよいですか?
-
[解決済み] Flutterで16進数の色文字列を使用するにはどうすればよいですか?
-
[解決済み] Swift: 列挙型の値を文字列に変換しますか?
-
[解決済み] 文字列を分割して変数に代入する方法
-
[解決済み] GroovyでStringが空白だけでなく非Nullかどうかを判断するには?
-
[解決済み] VB.NETでのマルチライン文字列