2015-03-01 13 views
42
package main 

import (
"fmt" 
"strings" 
) 

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

mi dà un errore di:Come unire una fetta in una stringa?

prog.go: 10: non può usare reg (tipo [3] string) come tipo di [] stringa argomento strings.Join

Esiste un modo più diretto/migliore del looping e dell'aggiunta a una var?

+1

perché non basta usare 'reg: = [] stringa { "a"," b ", "c"}'? –

risposta

17

Il titolo della tua domanda è:

golang, cercando di aderire a una fetta in una stringa

ma in realtà, reg è non una fetta, ma una lunghezza di tre array. [...]string è solo zucchero sintattico per (in questo caso) [3]string.

per ottenere una fetta vera e propria, si dovrebbe scrivere:

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

(Prova ora:. http://play.golang.org/p/vqU5VtDilJ)

+2

Pls, fornire il codice di lavoro nella risposta stessa, il campo giochi è un vantaggio ma non abbastanza per una risposta accettabile ;-). TY! – shadyyx

+4

@shadyyx: sono d'accordo sul fatto che il link del parco giochi è strettamente supplementare; ma non sono sicuro di ciò che pensi manchi dalla risposta corretta. L'unico errore dell'OP era sulla linea 10, e ho fornito la versione corretta di quella linea, insieme alla spiegazione. (Stai suggerendo che avrei dovuto copiare il suo intero programma di esempio nella risposta? Se è così, allora - non sono d'accordo.) – ruakh

+0

"cercando di unire una sezione in una stringa" La tua soluzione funziona solo per ** fette di stringhe ** invece del tipo di sezione generale. –

Problemi correlati