Heim >Backend-Entwicklung >Golang >Eine kurze Diskussion über die Speicherzuweisung aus der Perspektive der Go-Sprache
Welche Vorteile bringt es, wenn man die Sprache C gut lernt?
Ich glaube, dass viele Neulinge in der Gruppe vielleicht schon einmal gehört haben, dass ich in einer Woche xx Sprachen gelernt habe Du hast direkt angefangen zu arbeiten, und dann hast du im Stillen gesagt: „Stell dir vor, du wärst 13“, vielleicht habt ihr direkt in der Gruppe angefangen zu kämpfen.
Kann man also wirklich sagen, dass man eine Sprache in einer oder zwei Wochen lernen kann?
Ich kann Verantwortung übernehmen und Ihnen sagen, dass es absolut kein Problem gibt, aber es muss auf einem starken Fundament aufgebaut werden.
Und Zeiger sind eine besonders wichtige Grundlage. Egal welche Sprache heutzutage verwendet wird, das Wesentliche ist die Anwendung von Zeigern, aber sie ist einfach gekapselt.
Dies führt jedoch dazu, dass ein instabiles Fundament insbesondere für Neulinge zu unerklärlichen und unverständlichen Problemen führt.
Egal, in welchem Stadium Sie sich gerade befinden, diejenigen, die die C-Sprache noch nicht gelernt haben, müssen C lernen und die wichtige Grundlage übernehmen, die zurückgelassen wurde.
Lassen Sie mich Ihnen zunächst eine kurze Einführung geben.
Wir werden Python später hinzufügen, es mit Go vergleichen, was die Unterschiede sind und sehen, wie das beliebte Python Speicher zuweist.
Derzeit empfehle ich Ihren Freunden beim Lesen dieses Artikels immer noch, über gewisse Grundkenntnisse zu verfügen und zumindest zu verstehen, wie man Variablen definiert usw.
Zunächst müssen wir die Hauptkomponenten des Computers verstehen.
首先,简单的说,至少由 CPU
CPU
内存条
硬盘
显卡
显示器
操作系统(Linux,Windowns)
内存条
硬盘
显卡
🎜🎜🎜🎜 🎜🎜🎜🎜Kurz gesagt:
Jede Anwendung auf dem System (qq, WeChat usw.) möchte, dass der Computer Musik abspielt, und der Monitor zeigt etwas an, z. B. das Schreiben einer Datei auf die Festplatte erfordert die Zustimmung des Betriebssystems.
Das Betriebssystem ruft die CPU auf, um die Ausführung der Anweisungen abzuschließen, und die CPU liest die geöffnete Anwendung in den Memory Stick. Warum bleibt die mechanische Festplatte so hängen? Jetzt zischt das Solid-State-Gerät. Damit ist die Übertragung der Daten von der Festplatte auf den Speicherstick abgeschlossen.
Die CPU analysiert die in den Speicherstick eingelesenen Daten. Wenn es sich um Daten handelt, die von der CPU verarbeitet werden, werden sie selbst erfasst und berechnet. Wenn es sich um Daten handelt, die von der Grafikkarte verarbeitet werden, werden sie aufgerufen Wenn es sich um Sounddaten handelt, werden diese von der Soundkarte berechnet.
Durch die obige Koordination kann grundsätzlich die gesamte Anwendung ausgeführt werden. Wenn Daten auf die Festplatte geschrieben werden müssen, kann die CPU einfach die Daten im Speicherstick auf die Festplatte schreiben.
Okay, durch das oben Gesagte können wir grundsätzlich die Koordinationsbeziehung zwischen dem Betriebssystem und jeder Hardware verstehen.
Lassen Sie mich Ihnen ein Geheimnis verraten: Der Code, den wir schreiben, läuft grundsätzlich auf dem Memory Stick. Ebenso führen die oben genannten Anwendungen den Anwendungscode grundsätzlich auf dem Memory Stick aus.
Ja, das ist er, ein Memory Stick.
Ebenso kann ich auf diese Weise auch den inneren Aufbau des Memory Sticks verstehen.
Wir können die Memory Sticks einfach als Häuser verstehen.
ist immer noch hässlich...
Aber unser Memory Stick hat Koordinaten , auch Adresse genannt, jeweils klein Es gibt Werte eins nach dem anderen.
Aber normalerweise verstehen wir es pauschal, so.
Adressen (Koordinaten) werden im Allgemeinen hexadezimal ausgedrückt, und was auch immer der Wert sein sollte, ist dumm.
Werfen wir einen Blick auf einen sehr kurzen Go-Code.
Deklarieren Sie eine Altersvariable, weisen Sie ihr den Wert 18 zu und geben Sie sie aus. Wie
package main import "fmt" func main() { var age int = 18 fmt.Println("我今年:",age,"岁") }
im Gedächtnis dargestellt wird.
Das Alter unseres Variablennamens weist auf 0x1001
0x1001
地址,并且输出了0x0001
address und 0x0001
Einfach so.
Hinweis:
上述age指向就是地址0x1001
0x1001
。
但是我们在fmt.Println("我今年:",age,"岁")
。
但是我们在fmt.Println("我今年:",age,"岁")
值。
是地址里面的值。
例如:
上述代码内存分配图.
age2 beantragt erneut eine Adresse, um den Wert des 18-Jährigen zu speichern.
Manchmal fragt sich jemand, ob es am Samstag eine solche Situation gibt. Würde das nicht mehr Speicherplatz sparen?
Ergebnis: Natürlich werden wir später über diese Situation sprechen. Verstehen Sie es jetzt einfach Schritt für Schritt.
Fazit
Der Variablenname zeigt auf die Speicheradresse.
Wenn wir einen Wert zuweisen oder Variablen wie das Drucken bearbeiten, verarbeiten wir den Wert der Adresse .
Vielleicht ist Ihnen schon etwas schwindelig, deshalb endet dieser Artikel hier.
Wenn Sie während der Operation auf Aufgabenprobleme stoßen, denken Sie bitte daran, unten eine Nachricht zu hinterlassen. Wir werden das Problem so schnell wie möglich lösen.
Ich bin ein Programmierer auf Zhouba. Wenn Sie es gut finden, denken Sie bitte daran, ihm ein „Gefällt mir“ zu geben.
Vielen Dank fürs Zuschauen.
Wenn Sie während der Operation auf Probleme stoßen, denken Sie bitte daran, unten eine Nachricht zu hinterlassen. Wir werden das Problem so schnell wie möglich lösen.
Erzählen Sie anderen mit einem Lächeln, dass es mir heute besser geht als gestern und dass ich auch in Zukunft derselbe sein werde.
Wenn Sie den Artikel gut finden, denken Sie daran, ihn zu liken und eine Nachricht an den Support zu hinterlassen , um uns zu unterstützen. Vielen Dank fürs Lesen. Wenn Sie Fragen haben, hinterlassen Sie bitte unten eine Nachricht. Wenn Sie mehr über Python erfahren möchten, besuchen Sie die Lernwebsite: http://pdcfighting.com/. Klicken Sie zum Lesen Zum Originaltext können Sie direkt gehen~
----------------. --- Ende ------- ---- Empfehlungen für spannende Artikel aus früheren Ausgaben: Ein Artikel mit Sie verstehen die Grundlagen der Go-Sprache-NetzwerkprogrammierungDie Grundstruktur der Go-Sprache (Winter) Ein Artikel führt Sie dazu, die Grundlagen der Parallelität (Kanal) in der Sprache Go zu verstehen Tausende von Bergen und Flüssen lieben immer, klicken Sie auf [ Looking]Okay
Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über die Speicherzuweisung aus der Perspektive der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!