Datentypen geben an, welche Art von Daten eine gültige Golang- Variable enthalten kann. In der Sprache Go werden Typen wie folgt in vier Kategorien unterteilt:

- Grundtypen: Zahlen, Zeichenfolgen und Boolesche Werte
- Aggregattypen: Arrays und Strukturen
- Referenztypen: Zeiger, Slice, Map, Funktion und Kanal
- Schnittstellentyp
Hier besprechen wir die grundlegenden Datentypen der Sprache Go. Sie werden in drei Unterkategorien eingeteilt:
Gängige Datentypen in Golang
Zahlen in Golang
In der Sprache Go werden Zahlen in drei Unterkategorien unterteilt:
Ganzzahlen: In der Programmiersprache Go gibt es sowohl vorzeichenbehaftete als auch vorzeichenlose Ganzzahlen in vier verschiedenen Größen, wie in der folgenden Tabelle dargestellt. Vorzeichenbehaftete Ganzzahlen werden durch intund vorzeichenlose Ganzzahlen durch dargestellt uint.
Mögliche Rechenoperationen: Addition, Subtraktion, Multiplikation, Division, Rest
|
Datentyp
|
Beschreiben
|
| int8 |
8-Bit-Ganzzahl mit Vorzeichen |
| int16 |
16-Bit-Ganzzahl mit Vorzeichen |
| int32 |
32-Bit-Ganzzahl mit Vorzeichen |
| int64 |
64-Bit-Ganzzahl mit Vorzeichen |
| uint8 |
8-Bit-Ganzzahl ohne Vorzeichen |
| uint16 |
Vorzeichenlose Ganzzahl1 6-Bit |
| uint32 |
32-Bit-Ganzzahl ohne Vorzeichen |
| uint64 |
64-Bit-Ganzzahl ohne Vorzeichen |
| int |
Sowohl vorzeichenlose als auch vorzeichenbehaftete Daten haben die gleiche Größe, 32 oder 64 Bit |
| Einheit |
Sowohl vorzeichenlose als auch vorzeichenbehaftete Daten haben die gleiche Größe, 32 oder 64 Bit |
| Runen |
Dies ist ein Synonym für int32 und stellt auch Unicode-Codepunkte dar. |
| Byte |
Dies ist ein Synonym für uint8. |
| uintptr |
Dies ist ein vorzeichenloser Integer-Typ. Seine Breite ist undefiniert, er kann jedoch alle Bits eines Zeigerwerts enthalten. |
Zum Beispiel:
// Chương trình Go sử dụng số nguyên
package main
import "fmt"
func main() {
// Dùng 8-bit unsigned int
var X uint8 = 225
fmt.Println(X, X-3)
// Dùng 16-bit signed int
var Y int16 = 32767
fmt.Println(Y+2, Y-2)
}
Ergebnis:
225 222
-32767 32765
Beispiel für Rechenoperationen:
// Các phép tính số học có thể có đối với số nguyên
// Tác giả : Chhanda Saha
package main
import "fmt"
func main() {
var x int16 = 170
var y int16 = 83
//Cộng
fmt.Printf(" addition : %d + %d = %d\n ", x, y, x+y)
//Trừ
fmt.Printf("subtraction : %d - %d = %d\n", x, y, x-y)
//Nhân
fmt.Printf(" multiplication : %d * %d = %d\n", x, y, x*y)
//Chia
fmt.Printf(" division : %d / %d = %d\n", x, y, x/y)
//Mô đun
fmt.Printf(" remainder : %d %% %d = %d\n", x, y, x%y)
}
Ergebnis:
Cộng : 170 + 83 = 253
Trừ : 170 - 83 = 87
Nhân : 170 * 83 = 14110
Chia : 170 / 83 = 2
Số dư : 170 % 83 = 4
- Gleitkommazahlen: In der Sprache Go werden Gleitkommazahlen in zwei Typen unterteilt, wie in der folgenden Tabelle gezeigt.
- Rechenoperationen können sein: Addition, Subtraktion, Multiplikation, Division.
- Es gibt drei Schriftarten:
- Dezimalzahl (3,15)
- Leistung (12e18 oder 3e10)
- gemischt (13.16e12)
| Datentyp |
Beschreiben
|
| float32 |
32-Bit-Gleitkommazahl nach IEEE 754 |
| float64 |
64-Bit IEEE 754 Gleitkommazahl |
Zum Beispiel:
//Minh họa chương trình Go dùng số dấu chấm động
package main
import "fmt"
func main() {
a := 20.45
b := 34.89
// Phép trừ hai số dấu chấm động
c := b-a
// Hiện kết quả
fmt.Printf("Result is: %f", c)
// Hiện kiểu biến C
fmt.Printf("\nThe type of c is : %T", c)
}
Ergebnis:
Kết quả: 14.440000
Kiểu của C là : float64
Beispiel für Rechenoperationen mit Gleitkommazahlen:
// Các phép toán số học có thể có cho số thực
// Tác giả : Chhanda Saha
package main
import "fmt"
func main() {
var x float32 = 5.00
var y float32 = 2.25
//Phép cộng
fmt.Printf("addition : %g + %g = %g\n ", x, y, x+y)
//Phép trừ
fmt.Printf("subtraction : %g - %g = %g\n", x, y, x-y)
//Phép nhân
fmt.Printf("multiplication : %g * %g = %g\n", x, y, x*y)
//Phép chia
fmt.Printf("division : %g / %g = %g\n", x, y, x/y)
}
Ergebnis:
Phép cộng : 5 + 2.25 = 7.25
Phép trừ : 5 - 2.25 = 2.75
Phép nhân : 5 * 2.25 = 11.25
Phép chia : 5 / 2.25 = 2.2222223
- Komplexe Zahlen: Komplexe Zahlen werden in zwei Teile unterteilt, die in der folgenden Tabelle dargestellt sind.
float32Außerdem float64gibt es einen Teil dieser komplexen Zahlen. Die integrierte Funktion erstellt eine komplexe Zahl aus ihrem Imaginärteil und Realteil, und die integrierte Imaginär- und Realfunktion extrahiert diese Teile.
- Es gibt mehrere integrierte Funktionen für komplexe Zahlen:
- komplex – Erstellen Sie eine komplexe Zahl aus zwei Gleitkommazahlen.
- real() – ruft den Realteil der eingegebenen komplexen Zahl als Gleitkommazahl ab.
- imag() – erhält den Imaginärteil der eingegebenen komplexen Zahl als Gleitkommazahl
| Datentyp |
Beschreiben
|
| Komplex64 |
Komplexe Zahlen enthalten float32 als Real- und Imaginärkomponente. |
| Komplex128 |
Komplexe Zahlen enthalten float64 als Real- und Imaginärkomponente. |
Zum Beispiel:
// Chương trình Go dùng số phức
package main
import "fmt"
func main() {
var a complex128 = complex(6, 2)
var b complex64 = complex(9, 2)
fmt.Println(a)
fmt.Println(b)
// Hiện kiểu
fmt.Printf("The type of a is %T and "+
"the type of b is %T", a, b)
}
Ergebnis:
(6+2i)
(9+2i)
Kiểu của a là complex128, kiểu của b là complex64
Beispiele für integrierte Funktionen:
// Các hàm tích hợp là số phức
// Tác giả : Chhanda Saha
package main
import "fmt"
func main() {
comp1 := complex(10, 11)
// cú pháp init số phức
comp2 := 13 + 33i
fmt.Println("Complex number 1 is :", comp1)
fmt.Println("Complex number 1 is :", comp2)
// lấy phần real
realNum := real(comp1)
fmt.Println("Real part of complex number 1:", realNum)
// lấy phần hình ảnh
imaginary := imag(comp2)
fmt.Println("Imaginary part of complex number 2:", imaginary)
}
Ergebnis:
Số phức 1 là: (10+11i)
Số phức 1 là: (13+33i)
Phần thực của số phức 1: 10
Phần ảo của số phức 2: 33
Boolesch
Der Boolesche Datentyp stellt nur ein Informationsbit dar, das entweder wahr oder falsch ist. Werte des Booleschen Typs können nicht implizit oder explizit in einen anderen Typ konvertiert werden.
Zum Beispiel:
//Minh họa chương trình dùng boolean
package main
import "fmt"
func main() {
// Các biến
str1 := "Quantrimang"
str2:= "quantrimang"
str3:= "Quantrimang"
result1:= str1 == str2
result2:= str1 == str3
// Hiện kết quả
fmt.Println( result1)
fmt.Println( result2)
// Hiện kiểu của result1 và result2
fmt.Printf("Kiểu của result1 là %T và "+
"kiểu của result2 là %T",
result1, result2)
}
Ergebnis:
false
true
Kiểu của result1 là bool và kiểu của result2 là bool
Kette
Der Datentyp String stellt eine Folge von Unicode-Codepunkten dar. Anders ausgedrückt: Ein String ist eine unveränderliche Bytefolge. Das bedeutet, dass ein einmal erstellter String nicht mehr geändert werden kann. Strings können beliebige Daten enthalten, einschließlich Nullbytes in menschenlesbarer Form. Strings können mit dem Additionsoperator (+) verknüpft werden.
Zum Beispiel:
// Chương trình Go dùng chuỗi
package main
import "fmt"
func main() {
// Biến str chứa chuỗi
str := "Quantrimang"
// Hiện độ dài của chuỗi
fmt.Printf("Length of the string is:%d",
len(str))
// Hiện chuỗi
fmt.Printf("\nString is: %s", str)
// Hiện kiểu biến str
fmt.Printf("\nType of str is: %T", str)
}
Ergebnis:
Chiều dài của chuỗi là: 13
Chuỗi là: Quantrimang
Kiểu của chuỗi là: chuỗi
Beispiel für eine Zeichenkettenverkettung:
// Nối chuỗi
// Tác giả : Chhanda Saha
package main
import "fmt"
func main() {
var str1 string = "STRING_"
var str2 string = "Concatenation"
// Nối chuỗi bằng toán tử +
fmt.Println("New string : ", str1+str2)
}
Ergebnis:
New string : STRING_Concatenation