Heim  >  Artikel  >  Backend-Entwicklung  >  So bestimmen Sie, ob eine Variable ein Slice oder ein Array in der Go-Sprache ist

So bestimmen Sie, ob eine Variable ein Slice oder ein Array in der Go-Sprache ist

藏色散人
藏色散人Original
2021-01-05 15:50:213385Durchsuche

So bestimmen Sie, ob eine Variable ein Slice oder ein Array in der Go-Sprache ist: 1. Bestimmen Sie, ob die Länge der Variablen bei der Bestimmung nicht geändert werden kann. Wenn sie nicht geändert werden kann, bedeutet dies, dass die Variable ein Array-Array ist ; 2. Definieren Sie einen Längenwert in Klammern mit der Länge. Der Wert ist ein Array-Array, andernfalls handelt es sich um ein Slice-Slice.

So bestimmen Sie, ob eine Variable ein Slice oder ein Array in der Go-Sprache ist

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Go-Version 1.11.2, Dell G3-Computer.

Empfohlen: „go Language Tutorial

Bestimmen Sie, ob eine Variable ein Array oder ein Slice in Golang ist

Der Unterschied zwischen Array und Slice

Der größte Unterschied zwischen den beiden besteht darin, dass einmal das Array Die Länge ist festgelegt, sie kann nicht geändert, nicht verlängert oder verkürzt werden. Kapazität der Schneidewaage. Und das Array ist ein Werttyp. Wenn ein Array einem anderen Array zugewiesen wird, erfolgt eine Wertkopie, während das Slice ein Zeigertyp ist und der Zeiger kopiert wird.

Das Folgende wird anhand eines Beispiels erklärt:

Der Code ist wie unten gezeigt: (1) definiert ein Array vom Typ [3]int und weist 1, 2 und 3 nacheinander Werte zu. (2) Weisen Sie Array a zu b zu, und der Wert wird kopiert. (3) Die Zuweisung eines Werts von 4 zum Element bei Index 2 von Array a hat keinen Einfluss auf den Inhalt von Array b. (4) Drucken Sie die Ergebnisse aus, um die Situation zu erläutern.

Ich schaue mir einen anderen Code an: (1) Die Länge ist nicht angegeben, (2) das Ergebnis wird gedruckt, was zeigt, dass die Änderung von a den Inhalt von b beeinflusst.

Warum macht eine kleine Veränderung so einen Unterschied? Dies ist der subtile Unterschied in der Syntax bei der Definition von Array und Slice:

Die Definition eines Längenwerts in Klammern ist die einzige Grundlage für den Compiler, um den Datentyp der Variablen a zu unterscheiden. Mit einem Längenwert handelt es sich um ein Array Es ist ein Array. Es ist in Scheiben geschnitten. Zurück zur Frage, wie man die folgenden Variablen unterscheidet:

var a1 []int ---> hat keine Längendefinition, es ist Slice

var a2 [2]int ---> , Es ist Array

var a3 [3]*int---> Es hat eine Längendefinition, es ist Array

var a4 [4][3]int ---> Es hat eine Längendefinition, es ist ein Array , es ist nur ein zweidimensionales Array.

Weitere Kenntnisse zum Thema Programmierung finden Sie unter:

Programmierlehre

! !

Das obige ist der detaillierte Inhalt vonSo bestimmen Sie, ob eine Variable ein Slice oder ein Array in der Go-Sprache ist. 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