Entschlüsseln Sie die Datentypen der Go-Sprache: Auf einen Blick sind spezifische Codebeispiele erforderlich
1. Einführung
Datentypen in Programmiersprachen sind für Entwickler sehr wichtig. Sie bestimmen, welche Typen wir speichern und betreiben können Daten. In der Go-Sprache ähnelt das Konzept der Datentypen dem anderer Programmiersprachen, die Go-Sprache verfügt jedoch über ein eigenes, einzigartiges Datentypsystem und eigene Merkmale. Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis der Datentypen der Go-Sprache und entschlüsselt diese Familie anhand spezifischer Codebeispiele.
2. Grundlegende Datentypen
Zu den grundlegenden Datentypen der Go-Sprache gehören: Boolescher Wert, Ganzzahl, Gleitkomma, komplexe Zahl, Zeichenfolge und Zeichen. Sie sind bool, int, float, complex, string und rune. Schauen wir sie uns separat an.
- Boolescher Typ (bool)
Der boolesche Typ hat nur zwei Werte, nämlich wahr und falsch. Wie andere Sprachen können wir boolesche Typen verwenden, um den Programmfluss zu beurteilen und zu steuern.
Beispielcode:
package main
import "fmt"
func main() {
var b bool = true
fmt.Println(b)
}
Nach dem Login kopieren
- Integer (int)
Der Integer-Datentyp kann ganzzahlige Werte speichern und seine Größe hängt von der zugrunde liegenden Computerarchitektur ab. In der Go-Sprache werden Ganzzahlen in vorzeichenbehaftete und vorzeichenlose Ganzzahlen unterteilt. Im Folgenden sind einige häufig verwendete Ganzzahl-Datentypen aufgeführt:
- int8: vorzeichenbehaftete 8-Bit-Ganzzahl im Bereich von -128 bis 127.
- int16: 16-Bit-Ganzzahl mit Vorzeichen, Wertebereich ist -32768 bis 32767.
- int32: 32-Bit-Ganzzahl mit Vorzeichen, der Wertebereich liegt zwischen -2147483648 und 2147483647.
- int64: vorzeichenbehaftete 64-Bit-Ganzzahl, der Wertebereich ist -9223372036854775808 bis 9223372036854775807.
- uint8: Vorzeichenlose 8-Bit-Ganzzahl, Wertebereich 0 bis 255.
- uint16: Vorzeichenlose 16-Bit-Ganzzahl, Wertebereich ist 0 bis 65535.
- uint32: Vorzeichenlose 32-Bit-Ganzzahl im Bereich von 0 bis 4294967295.
- uint64: Vorzeichenlose 64-Bit-Ganzzahl im Bereich von 0 bis 18446744073709551615.
- int: Abhängig von der Anzahl der Bits im Betriebssystem und Compiler sind 32-Bit-Betriebssysteme 32-Bit-Ganzzahlen und 64-Bit-Betriebssysteme 64-Bit-Ganzzahlen.
- uint: Abhängig von der Anzahl der Bits im Betriebssystem und Compiler sind 32-Bit-Betriebssysteme 32-Bit-Ganzzahlen ohne Vorzeichen und 64-Bit-Betriebssysteme 64-Bit-Ganzzahlen ohne Vorzeichen.
Beispielcode:
package main
import "fmt"
func main() {
var i int = 10
fmt.Println(i)
}
Nach dem Login kopieren
- Gleitkomma (Float)
Der Gleitkomma-Datentyp kann Dezimalwerte speichern und hat zwei Genauigkeiten: float32 und float64.
- float32: Gleitkommazahl mit einfacher Genauigkeit, auf 7 Dezimalstellen genau.
- float64: Gleitkommazahl mit doppelter Genauigkeit, auf 15 Dezimalstellen genau.
Beispielcode:
package main
import "fmt"
func main() {
var f float32 = 3.14
fmt.Println(f)
}
Nach dem Login kopieren
- Komplex (komplex)
Der komplexe Zahlentyp wird zur Darstellung komplexer Zahlen verwendet, deren Real- und Imaginärteil beide Gleitkommatypen sind. In der Go-Sprache haben komplexe Typen zwei Genauigkeiten: complex64 und complex128.
- complex64: Der Realteil und der Imaginärteil werden durch zwei Float32 dargestellt.
- complex128: Der Realteil und der Imaginärteil werden durch zwei float64 dargestellt.
Beispielcode:
package main
import "fmt"
func main() {
var c complex64 = complex(1, 2)
fmt.Println(c)
}
Nach dem Login kopieren
- String (Zeichenfolge)
String ist ein Datentyp in der Go-Sprache, der zur Darstellung einer Zeichenfolge verwendet wird. Zeichenfolgen sind unveränderlich, das heißt, sie können in der ursprünglichen Zeichenfolge nicht geändert werden. Wir können Zeichenfolgen jedoch über einige Funktionen und Operationen verarbeiten. In der Go-Sprache werden Zeichenfolgen in doppelte Anführungszeichen gesetzt (").
Beispielcode:
package main
import "fmt"
func main() {
var s string = "Hello, World!"
fmt.Println(s)
}
Nach dem Login kopieren
- Character (Rune)
Character (Rune) ist der Datentyp, der zur Darstellung von Unicode-Zeichen in der Go-Sprache verwendet wird. Es handelt sich tatsächlich um einen Ganzzahltyp, der den Codepunkt eines Unicode-Zeichens darstellt. Zeichen werden durch einfache Anführungszeichen (') dargestellt.
Beispielcode:
package main
import "fmt"
func main() {
var r rune = '你'
fmt.Println(r)
}
Nach dem Login kopieren
3. Zusammengesetzte Datentypen
Zusätzlich zu den grundlegenden Datentypen bietet die Go-Sprache auch. Einige zusammengesetzte Datentypen, einschließlich Array, Slice, Map, Struktur, Schnittstelle und Funktion.
- Array
Array ist eine Datenstruktur mit fester Größe, die eine Reihe von Elementen desselben Typs speichern kann eines Arrays ist fest und kann nicht geändert werden.
Beispielcode:
package main
import "fmt"
func main() {
var arr [3]int
arr[0] = 1
arr[1] = 2
arr[2] = 3
fmt.Println(arr)
}
Nach dem Login kopieren
- Slice ist eine Datenstruktur mit dynamischer Größe, die bei Bedarf automatisch erweitert werden kann Arrays oder andere Slices über den Slice-Operator [:]
Beispielcode:
package main
import "fmt"
func main() {
arr := []int{1, 2, 3}
fmt.Println(arr)
}
Nach dem Login kopieren
Dictionary (map) - Ein Wörterbuch ist eine ungeordnete Sammlung bestehend aus Schlüsseln und Werten. In der Go-Sprache wird ein Wörterbuch mit make erstellt Funktion
Beispielcode:
package main
import "fmt"
func main() {
dict := make(map[string]int)
dict["apple"] = 1
dict["banana"] = 2
dict["cherry"] = 3
fmt.Println(dict)
}
Nach dem Login kopieren
Struktur (Struktur)- Eine Struktur ist ein benutzerdefinierter Datentyp, der mehrere Felder enthalten kann. In der Go-Sprache ist die Struktur definiert Verwenden des Typschlüsselworts
Beispielcode:
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
p := Person{"Alice", 18}
fmt.Println(p)
}
Nach dem Login kopieren
Interface- Eine Schnittstelle ist ein abstrakter Datentyp, der eine Reihe von Methoden definiert. Die Schnittstelle kann durch einen konkreten Typ implementiert werden, und die Methoden, die die Schnittstelle implementieren, können aufgerufen werden über den Schnittstellentyp.
Beispielcode:
package main
import "fmt"
type Shape interface {
Area() float64
}
type Circle struct {
Radius float64
}
func (c Circle) Area() float64 {
return c.Radius * c.Radius * 3.14
}
func main() {
var s Shape
c := Circle{5}
s = c
fmt.Println(s.Area())
}
Nach dem Login kopieren
- 函数(function)
函数是一段可重复使用的代码块,它可以接受参数并返回结果。在Go语言中,函数是一等公民,可以像其他值类型一样被传递和赋值。
示例代码:
package main
import "fmt"
func Add(a, b int) int {
return a + b
}
func main() {
sum := Add(1, 2)
fmt.Println(sum)
}
Nach dem Login kopieren
总结
本文通过具体的代码示例对Go语言的数据类型进行了解密,详细介绍了Go语言的基本数据类型和复合数据类型。希望本文可以帮助大家更好地理解和应用Go语言的数据类型。
Das obige ist der detaillierte Inhalt vonAufgedeckte Go-Sprachdatentypen: vollständig angezeigt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!