Heim > Backend-Entwicklung > Golang > Wie kann ich die Speichergröße von Variablen in Go bestimmen?

Wie kann ich die Speichergröße von Variablen in Go bestimmen?

Barbara Streisand
Freigeben: 2024-12-22 08:38:10
Original
945 Leute haben es durchsucht

How Can I Determine the Memory Size of Variables in Go?

Die Geheimnisse der variablen Speichergröße entschlüsseln

Das Ermitteln der Speichergröße einer Variablen ist ein entscheidender Aspekt der Speicherverwaltung in der Programmierung. In Go ermöglicht Ihnen die Funktion „unsafe.Sizeof“, diese wertvollen Informationen aufzudecken.

Syntax:

func Sizeof(x interface{}) uintptr
Nach dem Login kopieren

Verwendung:

Um die Speichergröße einer Variablen zu bestimmen, übergeben Sie diese einfach als Argument an „unsafe.Sizeof“. Es gibt die Größe in Bytes zurück, die der Variablenwert einnimmt.

import "unsafe"

var i int = 1
fmt.Printf("Size of i: %d bytes", unsafe.Sizeof(i))
Nach dem Login kopieren

Beispiel:

Der folgende Code zeigt, wie man die Speichergröße verschiedener Daten ermittelt Typen:

package main

import "fmt"
import "unsafe"

func main() {
    a := int(123)
    b := int64(123)
    c := "foo"
    d := struct {
        FieldA float32
        FieldB string
    }{0, "bar"}

    fmt.Printf("a: %T, %d bytes\n", a, unsafe.Sizeof(a))
    fmt.Printf("b: %T, %d bytes\n", b, unsafe.Sizeof(b))
    fmt.Printf("c: %T, %d bytes\n", c, unsafe.Sizeof(c))
    fmt.Printf("d: %T, %d bytes\n", d, unsafe.Sizeof(d))
}
Nach dem Login kopieren

Ausgabe:

a: int, 4 bytes
b: int64, 8 bytes
c: string, 3 bytes
d: struct { FieldA float32; FieldB string }, 16 bytes
Nach dem Login kopieren

Hinweis:

"unsafe.Sizeof" sollte verwendet werden vorsichtig, da es bei unsachgemäßer Verwendung zu undefiniertem Verhalten führen kann. Einige Plattformen schränken möglicherweise auch die Verwendung ein, ähnlich wie beim Paket „reflect“, das auch eine Methode zum Abrufen der Speichergröße einer Variablen über „reflect.TypeOf(variable).Size()“ bereitstellt.

Das obige ist der detaillierte Inhalt vonWie kann ich die Speichergröße von Variablen in Go bestimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage