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:同じ文字列を繰り返して連結する方法

广告
将在 10 秒后关闭
bannerAds