Heim  >  Artikel  >  Backend-Entwicklung  >  Ist Go-Sprache eine dynamische Sprache?

Ist Go-Sprache eine dynamische Sprache?

青灯夜游
青灯夜游Original
2023-01-06 19:18:443369Durchsuche

go ist keine dynamische Sprache. Die Go-Sprache ist eine statisch stark typisierte, kompilierte, gleichzeitige Programmiersprache mit Garbage-Collection-Funktionen, die von Google entwickelt wurde. Ihre Variablen (Variablen) haben klare Typen, und der Compiler überprüft daher auch die Richtigkeit der Variablentypen Bevor Sie die Variable deklarieren, lautet die Syntax „Var-Variablenname, Variablentyp“.

Ist Go-Sprache eine dynamische Sprache?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.

go ist keine dynamische Sprache, sondern eine statische Sprache.

Go (auch bekannt als Golang) ist eine statisch stark typisierte, kompilierte, gleichzeitige und im Müll gesammelte Open-Source-Programmiersprache, die von Robert Griesemer, Rob Pike und Ken Thompson von Google entwickelt wurde.

Einführung in dynamische Sprache und statische Sprache

  • Dynamische Sprache (schwach typisierte Sprache) ist eine Sprache, die den Datentyp zur Laufzeit bestimmt. Normalerweise müssen Variablen ihren Typ nicht deklarieren Der Wert der Variablen wird zugewiesen. Der Typ dieses Werts. Wie PHP, Asp, JavaScript, Python, Perl usw.

var s ="hello";
var i = 0;
var b = true;
  • Statische Sprache (stark typisierte Sprache) ist eine Sprache, in der der Datentyp der Variablen zur Kompilierungszeit bestimmt werden kann. Die meisten statischen Sprachen erfordern, dass der Datentyp vor der Verwendung deklariert werden muss Variable. Wie Java, C, C++, C#, Go usw.

String s="hello";    //String 类型的变量
boolean b=true;    //boolean 类型的变量
int i=0;    //int 类型的变量
  • Eine schwach typisierte Sprache ist eine Sprache, in der Datentypen ignoriert werden können. Es ist das Gegenteil einer stark typisierten Sprache, bei der einer Variablen Werte unterschiedlicher Datentypen zugewiesen werden können. Der Typ einer Variablen wird durch ihren Kontext bestimmt, was effizienter ist.

  • Stark typisierte Sprache ist eine Sprache, die den Datentyp zwangsweise bestimmen muss. Sobald einer Variablen ein bestimmter Datentyp zugewiesen wird, wird sie immer dieser Datentyp sein, wenn sie nicht zur Konvertierung gezwungen wird. Der Typ einer Variablen wird bei der Deklaration bestimmt, was sicherer ist.

Golang-Variablendeklaration (mit dem Schlüsselwort var)

Die Go-Sprache ist eine statisch typisierte Sprache, sodass die Variable (Variable) einen klaren Typ hat und der Compiler auch die Richtigkeit des Variablentyps überprüft. In mathematischen Konzepten stellt eine Variable eine Zahl dar, die keinen festen Wert hat und geändert werden kann. Aus Sicht der Computersystemimplementierung handelt es sich bei einer Variablen jedoch um ein oder mehrere Speichersegmente, die zum Speichern von Daten verwendet werden.

Die allgemeine Form der Variablendeklaration besteht darin, das Schlüsselwort var zu verwenden:

var name type
  • var ist das Schlüsselwort zum Deklarieren von Variablen. var 是声明变量的关键字

  • name 是变量名

  • type

name ist der Variablenname

type ist der Typ der Variablen
  • Es ist zu beachten, dass sich die Go-Sprache von vielen Programmiersprachen dadurch unterscheidet, dass sie den Typ der Variablen nach dem Namen einfügt der Variablen beim Deklarieren der Variablen. Dies hat den Vorteil, dass mehrdeutige Deklarationsformen wie in der C-Sprache wie int* a, b; vermieden werden können. Nur a ist ein Zeiger und b nicht. Wenn beide Variablen Zeiger sein sollen, müssen Sie sie separat schreiben. In Go können sie einfach als Zeigertypen deklariert werden:
  • var a, b *int
  • Die Grundtypen der Go-Sprache sind:

  • bool

  • string

  • int, int8, int16, int32, int64

  • uint, uint8, uint16, uint32, uint64, uintptr

  • byte // Alias ​​​​von uint8

  • rune // Alias ​​​​von int32 stellt einen Unicode-Code dar

float32 , float64

complex64, complex128

Wenn eine Variable deklariert wird, weist das System ihr automatisch den Nullwert dieses Typs zu: int ist 0, float ist 0,0, bool ist false, string ist die leere Zeichenfolge, Zeiger ist Null usw. Der gesamte Speicher in Go wird initialisiert.

Die Benennungsregeln für Variablen folgen der Kamelbenennung, das heißt, das erste Wort ist kleingeschrieben und der erste Buchstabe jedes neuen Wortes wird großgeschrieben, zum Beispiel: numShips und startDate.

Es gibt verschiedene Formen der Variablendeklaration, die in den folgenden Abschnitten zusammengefasst werden.

Standardformat

Das Standardformat der Variablendeklaration in der Go-Sprache ist:

var 变量名 变量类型

Die Variablendeklaration beginnt mit dem Schlüsselwort var, gefolgt vom Variablentyp, und am Ende der Zeile ist kein Semikolon erforderlich.

Stapelformat

Finden Sie es umständlich, var zum Deklarieren von Variablen in jeder Zeile zu verwenden? Egal, für Faule gibt es noch eine andere Möglichkeit, Variablen zu definieren:

var (
    a int
    b string
    c []float32
    d func() bool
    e struct {
        x int
    }
)

Mit dem Schlüsselwort var und Klammern lässt sich eine Reihe von Variablendefinitionen zusammenstellen.

    Kurzformat
  • Zusätzlich zum Schlüsselwort var können Sie auch eine kürzere Variablendefinitions- und Initialisierungssyntax verwenden.
  • 名字 := 表达式
  • Es ist zu beachten, dass die kurze Variablendeklaration folgende Einschränkungen hat:

  • Definieren Sie die Variable und initialisieren Sie sie gleichzeitig explizit.

Datentyp kann nicht bereitgestellt werden.

🎜🎜 kann nur innerhalb von Funktionen verwendet werden. 🎜🎜🎜🎜Wie die var-Formulardeklarationsanweisung kann auch die kurze Variablendeklarationsanweisung zum Deklarieren und Initialisieren einer Reihe von Variablen verwendet werden: 🎜
i, j := 0, 1

下面通过一段代码来演示简短格式变量声明的基本样式。

func main() {
   x:=100
   a,s:=1, "abc"
}

因为简洁和灵活的特点,简短变量声明被广泛用于大部分的局部变量的声明和初始化。var 形式的声明语句往往是用于需要显式指定变量类型地方,或者因为变量稍后会被重新赋值而初始值无关紧要的地方。

【相关推荐:Go视频教程编程教学

Das obige ist der detaillierte Inhalt vonIst Go-Sprache eine dynamische Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:Hat Golang abstrakte Klassen?Nächster Artikel:Hat Golang abstrakte Klassen?