golang で文字列をn文字で分割する。(下記コードはくそ遅い例です。もっといいのはコメントいただきました)
regexp の FindAllString で ".{80}" みたいな正規表現で切る方法もあるんですけど、いずれにせよ余りはみなきゃならないので、下記みたいに strings.Split 後普通にやるのがいいんじゃないだろうか。。。と思ってます。
+= がベンチ的にどうか?ってのは見てません。
splitlen := 80
list := strings.Split(msg, "")
str := ""
for i, c := range list {
if i > 0 && i % splitlen == 0 {
log.Println(str)
str = ""
}
str += c
}
if len(str) > 0 {
log.Println(str)
}
g(・∀・)o
追記
コメントでもらったものと比較したところ、コメントでもらったもののほうが圧倒的に速かったので、上記は悪い例ということでお見知り置きください。
@heliac2000 さんに指摘いただいたように素直に範囲指定するのがよいようです。ありがとうございました。
✧\\ g( 'ω' )o //✧