Golang での同じ文字列を繰り返して連結する方法
- 環境
$ go version
go version go1.17.2 darwin/amd64
- 方法
package main
import (
"bytes"
"strings"
)
func main() {
// repeat byte
bufBytes := []byte("?")
println("repeat byte:" + string(bytes.Repeat(bufBytes, 3))) //???
// repeat strings
str := "?"
println("repeat strings:" + strings.Repeat(str, 3)) //???
// repeat rune
// rune 型のスライスにはrepeat関数が用意されていないため、for 文を使う必要がある。
bufRunes := []rune("?")
for i := 0; i < 3; i++ {
bufRunes = append(bufRunes, []rune("?")...)
}
println("repeat runes:" + string(bufRunes)) //???
}
repeat byte:???
repeat strings:???
repeat runes:????
Program exited.
Golang Playground Demo
注意:ちなみに、stringsの場合は、+ による連結もできますが、Repeat()の方がパフォーマンス的に良いです。
おまけ
ご参考まで、他の言語の書き方もまとめますと、
言語方法Go 言語strings.Repeat(str, 3)Scalastr * 3Groovystr * 3PHPstr_repeat($str, 3)Pythonstr * 3Rubystr * 3Perl$str x 3
参考記事
同じ文字列を繰り返して連結するには(文字列の乗算みたいな)
- Cover の画像の元: Unsplash
元記事
Golang:同じ文字列を繰り返して連結する方法