Quero ver os valores que estão na fatia. Como posso imprimi-los?
projects []Project
Quero ver os valores que estão na fatia. Como posso imprimi-los?
projects []Project
Respostas:
Você pode tentar a %v
, %+v
ou %#v
verbos de fmt go :
fmt.Printf("%v", projects)
Se seu array (ou fatia aqui ) contém struct
(like Project
), você verá seus detalhes.
Para obter mais precisão, você pode usar %#v
para imprimir o objeto usando a sintaxe Go, como para um literal:
%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
Para tipos básicos, fmt.Println(projects)
basta.
Nota: para uma fatia de ponteiros, isto é []*Project
(em vez de []Project
), é melhor definir um String()
método para exibir exatamente o que você deseja ver (ou verá apenas o endereço do ponteiro).
Veja este exemplo play.golang .
Para []string
, você pode usar strings.Join()
:
s := []string{"foo", "bar", "baz"}
fmt.Println(strings.Join(s, ", "))
// output: foo, bar, baz
Se você quiser apenas ver os valores de uma matriz sem colchetes, você pode usar uma combinação de fmt.Sprint()
estrings.Trim()
a := []string{"a", "b"}
fmt.Print(strings.Trim(fmt.Sprint(a), "[]"))
fmt.Print(a)
Retorna:
a b
[a b]
Esteja ciente de que com esta solução quaisquer colchetes iniciais serão perdidos do primeiro valor e quaisquer colchetes finais serão perdidos do último valor
a := []string{"[a]", "[b]"}
fmt.Print(strings.Trim(fmt.Sprint(a), "[]")
fmt.Print(a)
Retorna:
a] [b
[[a] [b]]
Para obter mais informações, consulte a documentação de strings.Trim ()
fmt.Printf()
está bem, mas às vezes eu gosto de usar o pacote de impressão bonita .
import "github.com/kr/pretty"
pretty.Print(...)
(Criou uma conta para comentar sobre uma resposta existente, mas não posso comentar até que tenha representante suficiente)
Se você deseja visualizar as informações em um Slice no mesmo formato que usaria para digitá-lo (alguns como ["um", "dois", "três"]), aqui está um exemplo de código que mostra como fazer isso :
Você pode usar o pacote 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)
}
Este código irá produzir e dar saída como este:
Para mais detalhes, leia: https://github.com/inancgumus/prettyslice
fmt.Println(projects)
?