Junior — Middle
Чӣ гуна метавон андозаи буферро дар канал идора кард?
sobes.tech AI
Ҷавоб аз AI
ใน Go ขนาดของบัฟเฟอร์ของช่องสัญญาณจะถูกกำหนดในขณะสร้างโดยใช้ฟังก์ชัน make หากระบุพารามิเตอร์ที่สอง นั่นจะเป็นขนาดของบัฟเฟอร์ กล่าวคือ จำนวนขององค์ประกอบที่ช่องสามารถเก็บได้โดยไม่บล็อกผู้ส่ง
ตัวอย่างการสร้างช่องสัญญาณแบบมีบัฟเฟอร์ขนาด 5:
ch := make(chan int, 5)
ถ้าบัฟเฟอร์เต็ม การส่งข้อมูลเข้าไปในช่องจะบล็อกจนกว่าจะมีคนอ่านออกจากช่อง ถ้าบัฟเฟอร์เป็น 0 (หรือไม่ได้ระบุพารามิเตอร์) ช่องจะไม่มีบัฟเฟอร์และการส่งข้อมูลจะบล็อกจนกว่าจะได้รับค่า
ดังนั้น การจัดการขนาดบัฟเฟอร์จึงลดลงเหลือการระบุพารามิเตอร์ที่สองในขณะสร้างช่องสัญญาณ