Saya ingin melihat nilai yang ada di potongan. Bagaimana cara mencetaknya?
projects []Project
Anda dapat mencoba %v
, %+v
atau %#v
kata kerja dari go fmt :
fmt.Printf("%v", projects)
Jika array Anda (atau di sini slice ) berisi struct
(like Project
), Anda akan melihat detailnya.
Untuk lebih presisi, Anda dapat menggunakan %#v
untuk mencetak objek menggunakan sintaks Go, seperti 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
Untuk tipe dasar saja fmt.Println(projects)
sudah cukup.
Catatan: untuk sepotong pointer, yaitu []*Project
(daripada []Project
), Anda lebih baik menentukan String()
metode untuk menampilkan dengan tepat apa yang ingin Anda lihat (atau Anda hanya akan melihat alamat pointer).
Lihat contoh play.golang ini .
Untuk a []string
, Anda dapat menggunakan strings.Join()
:
s := []string{"foo", "bar", "baz"}
fmt.Println(strings.Join(s, ", "))
// output: foo, bar, baz
Saya lebih suka fmt.Printf("%+q", arr)
yang akan mencetak
["some" "values" "list"]
Jika Anda hanya ingin melihat nilai larik tanpa tanda kurung, Anda dapat menggunakan kombinasi fmt.Sprint()
danstrings.Trim()
a := []string{"a", "b"}
fmt.Print(strings.Trim(fmt.Sprint(a), "[]"))
fmt.Print(a)
Pengembalian:
a b
[a b]
Ketahuilah bahwa dengan solusi ini, semua tanda kurung di depan akan hilang dari nilai pertama dan tanda kurung apa pun akan hilang dari nilai terakhir.
a := []string{"[a]", "[b]"}
fmt.Print(strings.Trim(fmt.Sprint(a), "[]")
fmt.Print(a)
Pengembalian:
a] [b
[[a] [b]]
Untuk info selengkapnya, lihat dokumentasi untuk string.Trim ()
fmt.Printf()
baik-baik saja, tapi terkadang saya suka menggunakan paket cantik cetak .
import "github.com/kr/pretty"
pretty.Print(...)
(Membuat akun untuk mengomentari jawaban yang ada, tetapi saya tidak dapat berkomentar sampai saya memiliki cukup perwakilan)
Jika Anda ingin melihat informasi dalam Slice dalam format yang sama dengan yang Anda gunakan untuk mengetikkannya (beberapa seperti ["satu", "dua", "tiga"]), berikut adalah contoh kode yang menunjukkan cara melakukannya :
Anda dapat menggunakan paket 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)
}
Kode ini akan menghasilkan dan mengeluarkan seperti ini:
Untuk lebih jelasnya, silakan baca: https://github.com/inancgumus/prettyslice
fmt.Println(projects)
?