Sobes.tech
Junior — Middle

Чӣ гуна метавон андозаи буферро дар канал идора кард?

sobes.tech AI

Ҷавоб аз AI

ใน Go ขนาดของบัฟเฟอร์ของช่องสัญญาณจะถูกกำหนดในขณะสร้างโดยใช้ฟังก์ชัน make หากระบุพารามิเตอร์ที่สอง นั่นจะเป็นขนาดของบัฟเฟอร์ กล่าวคือ จำนวนขององค์ประกอบที่ช่องสามารถเก็บได้โดยไม่บล็อกผู้ส่ง

ตัวอย่างการสร้างช่องสัญญาณแบบมีบัฟเฟอร์ขนาด 5:

ch := make(chan int, 5)

ถ้าบัฟเฟอร์เต็ม การส่งข้อมูลเข้าไปในช่องจะบล็อกจนกว่าจะมีคนอ่านออกจากช่อง ถ้าบัฟเฟอร์เป็น 0 (หรือไม่ได้ระบุพารามิเตอร์) ช่องจะไม่มีบัฟเฟอร์และการส่งข้อมูลจะบล็อกจนกว่าจะได้รับค่า

ดังนั้น การจัดการขนาดบัฟเฟอร์จึงลดลงเหลือการระบุพารามิเตอร์ที่สองในขณะสร้างช่องสัญญาณ