Heim > Backend-Entwicklung > Golang > Wie viele numerische Typen gibt es in Go?

Wie viele numerische Typen gibt es in Go?

青灯夜游
Freigeben: 2023-01-09 11:08:11
Original
1836 Leute haben es durchsucht

In Go gibt es drei Arten von numerischen Typen: 1. Ganzzahltypen, die in plattformunabhängige Ganzzahltypen und plattformbezogene Ganzzahltypen unterteilt werden können. Der Unterschied besteht darin, ob die Länge unter verschiedenen CPU-Architekturen oder Betriebssystemen konsistent ist. 2. Gleitkommatypen können in float32 und float64 unterteilt werden, die den numerischen Gleitkommatypen mit einfacher und doppelter Genauigkeit in IEEE754 entsprechen. 3. Komplexe Zahlen können in zwei Typen unterteilt werden: complex128 (reelle und imaginäre 64-Bit-Zahlen) und complex64 (reelle und imaginäre 32-Bit-Zahlen). Complex128 ist der Standardtyp für komplexe Zahlen.

Wie viele numerische Typen gibt es in Go?

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

Zu den grundlegenden Datentypen im Go-Sprachsystem gehören im Allgemeinen numerische Typen und Zeichenfolgentypen.

Und Zahlenwerttypen können in die folgenden Typen unterteilt werden: Ganzzahlen, Gleitkommazahlen und komplexe Zahlen, von denen jeder numerische Typen unterschiedlicher Größe enthält. Zu den vorzeichenbehafteten Ganzzahlen gehören beispielsweise int8, int16, int32, int64. usw. Jeder numerische Typ bestimmt den entsprechenden Größenbereich und ob er positive und negative Vorzeichen unterstützt.

Ganzzahlen (Ganzzahltypen) der Go-Sprache

In der Go-Sprache werden Ganzzahlen in plattformunabhängige Ganzzahlen und plattformbezogene Ganzzahlen unterteilt. Der Hauptunterschied besteht darin, dass diese Ganzzahltypen unter verschiedenen CPU-Architekturen oder Betriebssystemen funktionieren. , ob ihre Längen konsistent sind.

Plattformunabhängige Ganzzahlen

Die unabhängigen Ganzzahlen unterscheiden zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlen, und die Datenbereiche, die sie darstellen, sind unterschiedlich.

Wie viele numerische Typen gibt es in Go?

Plattformbezogene Ganzzahltypen

Go bietet nativ drei plattformbezogene Ganzzahltypen, nämlich int, uint und uintptr.

Wie viele numerische Typen gibt es in Go?

Besonderer Hinweis: Verlassen Sie sich beim Schreiben von Code mit Portabilitätsanforderungen nie zu sehr auf die Länge dieser Typen.


Sie können die Länge von drei Ganzzahlen auf der Plattform über die vom unsicheren Paket bereitgestellte SizeOf-Funktion ermitteln.

func main() {
	var a, b = int(5), uint(6)
	var p uintptr = 0x12345678
	fmt.Println("signed integer a's length is", unsafe.Sizeof(a))
	fmt.Println("unsigned integer b's length is", unsafe.Sizeof(b))
	fmt.Println("uintptr's length is", unsafe.Sizeof(p))
}

// 打印输出
signed integer a's length is 8
unsigned integer b's length is 8
uintptr's length is 8
Nach dem Login kopieren

Formatierte Ausgabe
go bietet das Standardbibliothekspaket fmt zum Formatieren und Ausgeben verschiedener Basen.

func main() {
	var a int8 = 66
	fmt.Printf("%b\n", a) //输出二进制:1000010
	fmt.Printf("%d\n", a) //输出十进制:66
	fmt.Printf("%o\n", a) //输出八进制:102
	fmt.Printf("%O\n", a) //输出八进制(带0o前缀):0o102
	fmt.Printf("%x\n", a) //输出十六进制(小写):42
	fmt.Printf("%X\n", a) //输出十六进制(大写):42
}
Nach dem Login kopieren

Gleitkommatyp der Go-Sprache (Dezimaltyp)

Die Sprache Go bietet zwei Gleitkommatypen, float32 und float64, die jeweils den numerischen Gleitkommatypen mit einfacher und doppelter Genauigkeit in IEEE754 entsprechen entspricht im Wesentlichen den Float- und Double-Typen in Java.

Die Go-Sprache bietet zwei Möglichkeiten zur Darstellung von Gleitkommatypen: Dezimaltyp und wissenschaftliche Notation. Die wissenschaftliche Notation ist in zwei Darstellungsmethoden unterteilt: dezimal und hexadezimal.

Dezimalschreibweise

3.1415
.15  // 整数部分如果为0,整数部分可以省略不写
81.80
82. // 小数部分如果为0,小数点后的0可以省略不写
Nach dem Login kopieren

Wissenschaftliche Schreibweise

十进制表示法:

6674.28e-2 // 6674.28 * 10^(-2) = 66.742800
.12345E+5  // 0.12345 * 10^5 = 12345.000000

十六进制表示法:

0x2.p10  // 2.0 * 2^10 = 2048.000000
0x1.Fp+0 // 1.9375 * 2^0 = 1.937500
Nach dem Login kopieren

Formatierte Ausgabe

var f float64 = 112.676899
	// 浮点类型第一种:十进制表示法
	fmt.Printf("%f\n", f) // 112.676899
	// 浮点类型第二种:科学计数法--十进制表示法
	fmt.Printf("%e\n", f) // 1.126769e+02
	// 浮点类型第二种:科学计数法--十六进制表示法
	fmt.Printf("%x\n", f) // 0x1.c2b52502eec7dp+06
Nach dem Login kopieren

Go-Sprachpluralformen

Go bietet zwei Pluraltypen: Sie sind komplex64 und complex128 bzw. der Real- und Imaginärteil von complex64 sind beide float32-Typen, während der Real- und Imaginärteil von complex128 beide float64-Typen sind. Wenn eine komplexe Zahl nicht explizit eingegeben wird, ist ihr Standardtyp complex128.

Go bietet drei Darstellungsmethoden:

1. Initialisieren Sie eine komplexe Typvariable direkt mit einem komplexen Literalwert

var c = 5 + 7i
var d = 0o123 + .12345E+5i // 83+12345i
Nach dem Login kopieren

2. Verwenden Sie die von Go bereitgestellte komplexe Funktion, um einen komplexen 128-Typwert zu erstellen Die bereitgestellten vordefinierten Funktionen real und imag können den Realteil und den Imaginärteil einer komplexen Zahl ermitteln, und der Rückgabewert ist ein Gleitkommatyp Die Go-Sprache Das Schlüsselwort type wird bereitgestellt, um einen neuen Typ basierend auf einem primitiven numerischen Typ zu deklarieren.

Zum Beispiel ist

var c = complex(5, 6) // 5 + 6i
var d = complex(0o123, .12345E+5) // 83+12345i
Nach dem Login kopieren

NewInt unser neu definierter Typ. Der zugrunde liegende Typ ist int32, es handelt sich jedoch um zwei vom nativen Typ int32 verschiedene Typen. Er kann nicht direkt zugewiesen werden und muss angezeigt und konvertiert werden.

var c = complex(5, 6) // 5 + 6i
r := real(c) // 5.000000
i := imag(c) // 6.000000
Nach dem Login kopieren
Wenn Sie native Typen direkt zuweisen und verwenden möchten, bietet Go natürlich die Typalias-Syntax (Typalias) zum Anpassen numerischer Typen.
type NewInt int32
Nach dem Login kopieren

Zusammenfassung

Go verfügt über drei Arten nativer numerischer Typen: Ganzzahl, Gleitkomma und komplex. Aus der obigen kurzen Einführung können wir ersehen, dass sich Go grundsätzlich von den meisten Mainstream-Sprachen unterscheidet ist auch anders, wie zum Beispiel die native Unterstützung für Pluraltypen.

【Verwandte Empfehlungen:

Go-Video-Tutorial

,

Programmierunterricht

Das obige ist der detaillierte Inhalt vonWie viele numerische Typen gibt es in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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 Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage