1. ホーム
  2. go

[解決済み] 文字列のスライスを1つの文字列に結合するには?

2022-04-18 15:41:03

質問

package main

import (
"fmt"
"strings"
)

func main() {
reg := [...]string {"a","b","c"}
fmt.Println(strings.Join(reg,","))
}

というエラーが出ます。

prog.go:10: cannot use reg (type [3]string) as type []string in argument to strings.Join

ループしてvarに追加するよりも、もっと直接的な/良い方法はないでしょうか?

どのように解決するのですか?

ご質問のタイトルです。

<ブロッククオート

文字列のスライスを1つの文字列に結合する方法は?

が、実は reg ではない はスライスではなく、長さ3の配列です。 [...]string に対する単なる構文上の糖分です(この場合) [3]string .

実際のスライスを取得するには、次のように書きます。

reg := []string {"a","b","c"}

(お試しください。 https://play.golang.org/p/vqU5VtDilJ .)

ちなみに、もし本当に文字列の配列をひとつの文字列に結合する必要がある場合は、配列からスライスを取り出すために [:] というように。

fmt.Println(strings.Join(reg[:], ","))

(お試しください。 https://play.golang.org/p/zy8KyC8OTuJ .)