package main
import (
"fmt"
"strings"
)
func main() {
reg := [...]string {"a","b","c"}
fmt.Println(strings.Join(reg,","))
}
me da un error de:
prog.go: 10: no se puede usar reg (cadena de tipo [3]) como cadena de tipo [] en el argumento de cadenas.
¿Hay una forma más directa / mejor que hacer un bucle y agregar a una var?
reg := []string {"a","b","c"}
?Respuestas:
El título de su pregunta es:
pero, de hecho, no
reg
es un segmento, sino una matriz de longitud tres. es solo azúcar sintáctico para (en este caso) .[...]string
[3]string
Para obtener una porción real, debe escribir:
(Pruébelo: https://play.golang.org/p/vqU5VtDilJ ).
Por cierto, si alguna vez realmente necesita unir una matriz de cadenas en una sola cadena, puede obtener una porción de la matriz agregando
[:]
, de esta manera:(Pruébelo: https://play.golang.org/p/zy8KyC8OTuJ ).
fuente
Use una rebanada, no un arrray. Solo créalo usando
Una alternativa habría sido convertir su matriz en un segmento al unir:
Lea el blog Go sobre las diferencias entre cortes y matrices .
fuente
Esto sigue siendo relevante en 2018.
Encadenar
Volver a Slice nuevamente
fuente