Quiero ver los valores que están en el segmento. ¿Cómo puedo imprimirlos?
projects []Project
Quiero ver los valores que están en el segmento. ¿Cómo puedo imprimirlos?
projects []Project
Respuestas:
Puedes probar los verbos %v
, %+v
o %#v
de go fmt :
fmt.Printf("%v", projects)
Si su matriz (o aquí segmento ) contiene struct
(me gusta Project
), verá sus detalles.
Para mayor precisión, puede usar %#v
para imprimir el objeto usando la sintaxis Go, como para un 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)
es suficiente.
Nota: para una porción de punteros, es decir []*Project
(en lugar de []Project
), es mejor que defina un String()
método para mostrar exactamente lo que desea ver (o verá solo la dirección del puntero).
Vea este ejemplo de play.golang .
Para a []string
, puede usar strings.Join()
:
s := []string{"foo", "bar", "baz"}
fmt.Println(strings.Join(s, ", "))
// output: foo, bar, baz
Si solo desea ver los valores de una matriz sin corchetes, puede usar una combinación de fmt.Sprint()
ystrings.Trim()
a := []string{"a", "b"}
fmt.Print(strings.Trim(fmt.Sprint(a), "[]"))
fmt.Print(a)
Devoluciones:
a b
[a b]
Sin embargo, tenga en cuenta que con esta solución, los corchetes iniciales se perderán del primer valor y los corchetes finales se perderán del último valor
a := []string{"[a]", "[b]"}
fmt.Print(strings.Trim(fmt.Sprint(a), "[]")
fmt.Print(a)
Devoluciones:
a] [b
[[a] [b]]
Para obtener más información, consulte la documentación de strings.Trim ()
fmt.Printf()
está bien, pero a veces me gusta usar un bonito paquete de impresión .
import "github.com/kr/pretty"
pretty.Print(...)
(Creé una cuenta para comentar sobre una respuesta existente, pero no puedo comentar hasta que tenga suficiente representante)
Si desea ver la información en un sector en el mismo formato que usaría para escribirla (algunos como ["uno", "dos", "tres"]), aquí hay un ejemplo de código que muestra cómo hacerlo :
Puede utilizar el paquete 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 se producirá y generará como este:
Para obtener más detalles, lea: https://github.com/inancgumus/prettyslice
fmt.Println(projects)
?