ในขณะที่ออกกำลังกายครั้งสุดท้ายของ Tour of Goฉันตัดสินใจว่าฉันต้องการคิวคู่( string
, int
) ง่ายพอ:
type job struct {
url string
depth int
}
queue := make(chan job)
queue <- job{url, depth}
แต่สิ่งนี้ทำให้ฉันคิด: มีประเภทข้อมูลคู่ / ทูเปิลในตัวใน Go หรือไม่? มีการสนับสนุนสำหรับการส่งคืนค่าหลายค่าจากฟังก์ชัน แต่ AFAICT สิ่งที่มีค่าหลายค่าที่สร้างขึ้นไม่ใช่พลเมืองชั้นหนึ่งในระบบประเภทของ Go เป็นอย่างนั้นหรือ?
สำหรับส่วน "คุณได้ลองอะไรบ้าง" ไวยากรณ์ที่ชัดเจน (จาก POV ของโปรแกรมเมอร์ Python)
queue := make(chan (string, int))
ไม่ได้ผล