Saat melakukan latihan terakhir Tour of Go , saya memutuskan bahwa saya membutuhkan antrean ( string
, int
) pasangan. Cukup mudah:
type job struct {
url string
depth int
}
queue := make(chan job)
queue <- job{url, depth}
Tapi ini membuat saya berpikir: apakah ada tipe data berpasangan / tupel bawaan di Go? Ada dukungan untuk mengembalikan beberapa nilai dari suatu fungsi, tetapi AFAICT, tupel nilai berganda yang dihasilkan bukanlah warga kelas satu dalam sistem tipe Go. Apakah itu masalahnya?
Adapun bagian "apa yang telah Anda coba", sintaks yang jelas (dari POV programmer Python)
queue := make(chan (string, int))
tidak berhasil.
Anda bisa melakukan hal seperti ini jika Anda mau
Namun saya pikir apa yang Anda sudah benar-benar idiomatik dan struct menggambarkan data Anda dengan sempurna yang merupakan keuntungan besar dibandingkan menggunakan tupel biasa.
sumber