Die Verwendung von go language make ist: 1. [make(map[string]string)] 2. [make([]int, 2)] 3. [make([]int, 2, 4)] .
Die Betriebsumgebung dieses Artikels: Windows 10-System, GO 1.11.2, Thinkpad T480-Computer.
(Lernvideo-Sharing: Programmiervideokurs)
golang verfügt hauptsächlich über neue integrierte Funktionen und ermöglicht die Speicherzuweisung.
make kann nur Speicher für Slice, Map und Channel zuweisen und einen initialisierten Wert zurückgeben. Schauen wir uns zunächst die folgenden drei verschiedenen Verwendungszwecke von make an:
make(map[string]string) make([]int, 2) make([]int, 2, 4)
Die erste Verwendung besteht darin, dass die Länge des Parameters fehlt und nur der Typ übergeben wird. Diese Verwendung kann nur in Szenarien verwendet werden, in denen der Typ „map“ ist oder chan, wie zum Beispiel make([ ]int) meldet einen Fehler. Die auf diese Weise zurückgegebene Leerzeichenlänge ist standardmäßig 0.
Die zweite Verwendung gibt die Länge an, zum Beispiel gibt make([]int, 2) ein Slice mit einer Länge von 2 zurück.
Die dritte Verwendung, der zweite Parameter, gibt die Länge des Slice an, und der dritte Parameter ist es Wird verwendet, um die Länge des reservierten Speicherplatzes anzugeben, z. B. a := make([]int, 2, 4). Hierbei ist zu beachten, dass die Gesamtlänge des zurückgegebenen Slice a 4 beträgt. Reserviert bedeutet nicht zusätzlich 4 Die Länge beinhaltet tatsächlich die Anzahl der ersten beiden Slices. Wenn Sie beispielsweise := make([]int, 4, 2) verwenden, wird ein Syntaxfehler gemeldet.
Wenn wir einem Slice Speicher zuweisen, sollten wir daher unser Bestes geben, um die mögliche maximale Länge des Slice abzuschätzen, und durch Übergabe des dritten Parameters Speicherplatz für das Slice reservieren, um eine sekundäre Speicherzuweisung zu vermeiden Der dadurch verursachte Overhead verbessert die Leistung des Programms erheblich.
Verwandte Empfehlungen: Golang-Tutorial
Das obige ist der detaillierte Inhalt vonWas sind die Verwendungszwecke von make in der Go-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!