Jenis data menentukan jenis data yang boleh terkandung dalam pembolehubah Golang yang sah . Dalam bahasa Go, jenis dibahagikan kepada empat kategori seperti berikut:

- Jenis asas: Nombor, rentetan dan boolean
- Jenis agregat: Tatasusunan dan struktur
- Jenis rujukan: Penunjuk, hirisan, peta, fungsi dan saluran
- Jenis antara muka
Di sini kita akan membincangkan tentang Jenis Data Asas dalam bahasa Go. Mereka dikelaskan kepada tiga subkategori:
Jenis data biasa di Golang
Nombor di Golang
Dalam bahasa Go, nombor dibahagikan kepada tiga subkategori:
Integer: Dalam bahasa Go, kedua-dua integer bertanda dan tidak bertanda datang dalam empat saiz berbeza seperti yang ditunjukkan dalam jadual di bawah. Integer yang ditandatangani diwakili oleh intdan integer yang tidak ditandatangani diwakili oleh uint.
Operasi aritmetik yang mungkin: Penambahan, penolakan, pendaraban, pembahagian, baki
|
Jenis data
|
Huraikan
|
| int8 |
Integer bertanda 8-bit |
| int16 |
Integer bertanda 16-bit |
| int32 |
Integer bertanda 32-bit |
| int64 |
Integer bertanda 64-bit |
| uint8 |
Integer tidak bertanda 8-bit |
| uint16 |
Integer1 tidak ditandatangani 6-bit |
| uint32 |
Integer tidak bertanda 32-bit |
| uint64 |
Integer tidak bertanda 64-bit |
| int |
Kedua-dua yang tidak ditandatangani dan ditandatangani adalah saiz yang sama, 32 atau 64 bit |
| uint |
Kedua-dua yang tidak ditandatangani dan ditandatangani adalah saiz yang sama, 32 atau 64 bit |
| rune |
Ini adalah sinonim untuk int32 dan juga mewakili titik kod Unicode. |
| bait |
Ini adalah sinonim untuk uint8. |
| uintptr |
Ini ialah jenis integer yang tidak ditandatangani. Lebarnya tidak ditentukan, tetapi ia boleh mengandungi semua bit nilai penunjuk. |
Contohnya:
// 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)
}
Keputusan:
225 222
-32767 32765
Contoh operasi aritmetik:
// 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)
}
Keputusan:
Cộng : 170 + 83 = 253
Trừ : 170 - 83 = 87
Nhân : 170 * 83 = 14110
Chia : 170 / 83 = 2
Số dư : 170 % 83 = 4
- Nombor Titik Terapung: Dalam bahasa Go, nombor titik terapung dibahagikan kepada dua jenis seperti yang ditunjukkan dalam jadual di bawah.
- Operasi aritmetik boleh: Tambah, tolak, darab, bahagi.
- Terdapat tiga fon:
- perpuluhan (3.15)
- kuasa (12e18 atau 3e10)
- bercampur (13.16e12)
| Jenis data |
Huraikan
|
| terapung32 |
Nombor titik terapung IEEE 754 32-bit |
| terapung64 |
Nombor titik terapung IEEE 754 64-bit |
Contohnya:
//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)
}
Keputusan:
Kết quả: 14.440000
Kiểu của C là : float64
Contoh operasi aritmetik untuk nombor titik terapung:
// 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)
}
Keputusan:
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
- Nombor kompleks: Nombor kompleks dibahagikan kepada dua bahagian, ditunjukkan dalam jadual di bawah.
float32dan float64juga merupakan sebahagian daripada nombor kompleks ini. Fungsi penyepaduan menjana nombor kompleks daripada bahagian khayalan dan nyata dan fungsi penyepaduan mengekstrak bahagian tersebut.
- Terdapat beberapa fungsi terbina dalam dalam nombor kompleks:
- kompleks – cipta nombor kompleks daripada dua apungan.
- real() – mendapat bahagian sebenar nombor kompleks input sebagai apungan.
- imag() – dapatkan bahagian khayalan nombor kompleks input sebagai apungan
| Jenis data |
Huraikan
|
| kompleks64 |
Nombor kompleks mengandungi float32 sebagai komponen nyata dan khayalan. |
| kompleks128 |
Nombor kompleks mengandungi float64 sebagai komponen nyata dan khayalan. |
Contohnya:
// 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)
}
Keputusan:
(6+2i)
(9+2i)
Kiểu của a là complex128, kiểu của b là complex64
Contoh fungsi terbina dalam:
// 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)
}
Keputusan:
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
Boolean
Jenis data boolean hanya mewakili satu bit maklumat yang sama ada benar atau palsu. Nilai jenis boolean tidak ditukar secara tersirat atau eksplisit kepada mana-mana jenis lain.
Contohnya:
//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)
}
Keputusan:
false
true
Kiểu của result1 là bool và kiểu của result2 là bool
rantai
Jenis data rentetan mewakili urutan titik kod Unicode. Dalam erti kata lain, kita boleh mengatakan bahawa rentetan ialah urutan bait yang tidak boleh diubah, bermakna sebaik sahaja rentetan dicipta, anda tidak boleh mengubahnya. Rentetan boleh mengandungi data arbitrari, termasuk bait bernilai sifar dalam bentuk yang boleh dibaca manusia. Rentetan boleh digabungkan menggunakan operator penambahan (+).
Contohnya:
// 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)
}
Keputusan:
Chiều dài của chuỗi là: 13
Chuỗi là: Quantrimang
Kiểu của chuỗi là: chuỗi
Contoh penggabungan rentetan:
// 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)
}
Keputusan:
New string : STRING_Concatenation