Как соединить срез в строку?



package main

import (
"fmt"
"strings"
)

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


дает мне ошибку:




prog.go: 10: невозможно использовать reg (type [3]string) в качестве типа []string в аргументе к строкам.Присоединяйтесь




есть ли более прямой / лучший способ, чем цикл и добавление к var?

617   3  

3 ответов:

название вашего вопроса:

голанг, пытаясь соединить срез в строку

но на самом деле, reg и не срез, но длина-три массива. [...]string - это просто синтаксический сахар (в данном случае) [3]string.

получить реальный срез, вы должны написать:

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

(попробуйте:http://play.golang.org/p/vqU5VtDilJ.)

используйте срез, а не arrray. Просто создайте его с помощью

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

альтернативой было бы преобразовать ваш массив в срез при присоединении:

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

читать блог Go о различиях между срезами и массивами.

это по-прежнему актуально в 2018 году.

В Строку

import strings
stringFiles := strings.Join(fileSlice[:], ",")

опять фрагмент

import strings
fileSlice := strings.Split(stringFiles, ",")

Comments

    Ничего не найдено.