Voglio vedere i valori che sono nella fetta. Come posso stamparli?
projects []Project
Voglio vedere i valori che sono nella fetta. Come posso stamparli?
projects []Project
Risposte:
È possibile provare la %v, %+vo %#vverbi di FMT Go :
fmt.Printf("%v", projects)
Se il tuo array (o qui slice ) contiene struct(like Project), vedrai i loro dettagli.
Per una maggiore precisione, puoi usare %#vper stampare l'oggetto usando la sintassi Go, come per un letterale:
%v the value in a default format.
when printing structs, the plus flag (%+v) adds field names
%#v a Go-syntax representation of the value
Per i tipi di base, fmt.Println(projects)è sufficiente.
Nota: per una fetta di puntatori, cioè []*Project(invece di []Project), è meglio definire un String()metodo per visualizzare esattamente ciò che si desidera vedere (o vedrai solo l'indirizzo del puntatore).
Vedi questo esempio play.golang .
Per a []string, puoi usare strings.Join():
s := []string{"foo", "bar", "baz"}
fmt.Println(strings.Join(s, ", "))
// output: foo, bar, baz
Se vuoi solo vedere i valori di un array senza parentesi, puoi usare una combinazione di fmt.Sprint()estrings.Trim()
a := []string{"a", "b"}
fmt.Print(strings.Trim(fmt.Sprint(a), "[]"))
fmt.Print(a)
Ritorna:
a b
[a b]
Tieni presente però che con questa soluzione tutte le parentesi iniziali andranno perse dal primo valore e tutte le parentesi finali andranno perse dall'ultimo valore
a := []string{"[a]", "[b]"}
fmt.Print(strings.Trim(fmt.Sprint(a), "[]")
fmt.Print(a)
Ritorna:
a] [b
[[a] [b]]
Per maggiori informazioni vedere la documentazione per le stringhe.
fmt.Printf()va bene, ma a volte mi piace usare un bel pacchetto di stampa .
import "github.com/kr/pretty"
pretty.Print(...)
(Creato un account per commentare una risposta esistente, ma non posso commentare fino a quando non ho abbastanza rep)
Se desideri visualizzare le informazioni in una slice nello stesso formato che useresti per digitarle (alcune come ["uno", "due", "tre"]), ecco un esempio di codice che mostra come farlo :
Puoi utilizzare il pacchetto Pretty Slice:
package main
import pretty "github.com/inancgumus/prettyslice"
func main() {
nums := []int{1, 9, 5, 6, 4, 8}
odds := nums[:3]
evens := nums[3:]
nums[1], nums[3] = 9, 6
pretty.Show("nums", nums)
pretty.Show("odds : nums[:3]", odds)
pretty.Show("evens: nums[3:]", evens)
}
Questo codice verrà prodotto e generato come questo:
Per maggiori dettagli, leggi: https://github.com/inancgumus/prettyslice
fmt.Println(projects)?