Sobes.tech
Junior — Middle

Wie viele Elemente können maximal in einen Kanal platziert werden?

sobes.tech KI

Antwort von AI

In Go hängt die maximale Anzahl der Elemente in einem Kanal von dessen Puffer ab. Ein Kanal kann gepuffert oder ungepuffert sein.

  • Wenn der Kanal ungepuffert ist (erstellt mit make(chan Type)), kann er 0 Elemente enthalten — das Senden blockiert bis zum Empfang.
  • Wenn der Kanal gepuffert ist (erstellt mit make(chan Type, N)), ist die maximale Anzahl der Elemente gleich der Puffergröße N.

Theoretisch ist die Puffergröße durch den verfügbaren Speicher und den int-Typ begrenzt (auf 64-Bit-Systemen ist dies eine sehr große Zahl). In der Praxis ist ein zu großer Puffer jedoch ineffizient und kann zu hohem Speicherverbrauch führen.

Beispiel für die Erstellung eines gepufferten Kanals mit 100 Elementen:

ch := make(chan int, 100)