Veri türü, geçerli bir Golang değişkeninin hangi tür verileri içerebileceğini belirtir . Go dilinde tipler aşağıdaki gibi dört kategoriye ayrılır:

- Temel tipler: Sayılar, dizeler ve Boole değerleri
- Toplama türleri: Diziler ve yapılar
- Referans türleri: İşaretçi, dilim, harita, fonksiyon ve kanal
- Arayüz türü
Burada Go dilindeki Temel Veri Tiplerini tartışacağız. Bunlar üç alt kategoriye ayrılır:
Golang'daki yaygın veri türleri
Golang'daki Sayılar
Go dilinde sayılar üç alt kategoriye ayrılır:
Tam Sayılar: Go dilinde, hem işaretli hem de işaretsiz tam sayılar, aşağıdaki tabloda gösterildiği gibi dört farklı boyutta gelir. İşaretli tam sayılar ile int, işaretsiz tam sayılar ise ile gösterilir uint.
Olası aritmetik işlemler: Toplama, çıkarma, çarpma, bölme, kalan
|
Veri türü
|
Betimlemek
|
| int8 |
8 bitlik işaretli tam sayı |
| int16 |
16 bitlik işaretli tamsayı |
| int32 |
32 bitlik işaretli tamsayı |
| int64 |
64 bitlik işaretli tamsayı |
| uint8 |
8 bitlik işaretsiz tamsayı |
| uint16 |
İmzalanmamış Tamsayı1 6-bit |
| uint32 |
32 bitlik işaretsiz tamsayı |
| uint64 |
64 bitlik işaretsiz tamsayı |
| int |
İmzasız ve imzalı olanlar aynı boyuttadır, 32 veya 64 bit |
| birim |
İmzasız ve imzalı olanlar aynı boyuttadır, 32 veya 64 bit |
| rünler |
Bu, int32'nin eşanlamlısıdır ve aynı zamanda Unicode kod noktalarını temsil eder. |
| bayt |
Bu uint8'in eşanlamlısıdır. |
| uintptr |
Bu işaretsiz bir tamsayı türüdür. Genişliği tanımsızdır, ancak bir işaretçi değerinin tüm bitlerini içerebilir. |
Örneğin:
// 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)
}
Sonuç:
225 222
-32767 32765
Aritmetik işlem örneği:
// 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)
}
Sonuç:
Cộng : 170 + 83 = 253
Trừ : 170 - 83 = 87
Nhân : 170 * 83 = 14110
Chia : 170 / 83 = 2
Số dư : 170 % 83 = 4
- Kayan Noktalı Sayılar: Go dilinde kayan noktalı sayılar aşağıdaki tabloda gösterildiği gibi iki türe ayrılır.
- Aritmetik işlemler şunlar olabilir: Toplama, çıkarma, çarpma, bölme.
- Üç adet yazı tipi bulunmaktadır:
- ondalık (3.15)
- güç (12e18 veya 3e10)
- karışık (13.16e12)
| Veri türü |
Betimlemek
|
| yüzen32 |
32-bit IEEE 754 kayan nokta sayısı |
| yüzen64 |
64-bit IEEE 754 kayan nokta sayısı |
Örneğin:
//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)
}
Sonuç:
Kết quả: 14.440000
Kiểu của C là : float64
Kayan noktalı sayılar için aritmetik işlemlere örnek:
// 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)
}
Sonuç:
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
- Karmaşık Sayılar: Karmaşık sayılar aşağıdaki tabloda gösterildiği gibi iki kısma ayrılır.
float32ve float64bu karmaşık sayıların bir parçasıdır. İntegrasyon fonksiyonu, karmaşık sayıyı sanal ve gerçel kısımlarından üretir ve bu kısımları çıkarır.
- Karmaşık sayılarda birkaç yerleşik fonksiyon vardır:
- karmaşık – iki ondalıklı sayıdan karmaşık sayı oluşturur.
- real() – giriş karmaşık sayısının gerçek kısmını bir kayan nokta olarak alır.
- imag() – giriş karmaşık sayısının sanal kısmını bir kayan nokta olarak alır
| Veri türü |
Betimlemek
|
| karmaşık64 |
Karmaşık sayılar reel ve sanal bileşenler olarak float32 içerir. |
| karmaşık128 |
Karmaşık sayılar reel ve sanal bileşenler olarak float64 içerir. |
Örneğin:
// 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)
}
Sonuç:
(6+2i)
(9+2i)
Kiểu của a là complex128, kiểu của b là complex64
Yerleşik fonksiyonlara örnekler:
// 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)
}
Sonuç:
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
Boolean veri türü, doğru veya yanlış olan yalnızca bir bit bilgiyi temsil eder. Boolean türündeki değerler örtük veya açık bir şekilde başka bir türe dönüştürülmez.
Örneğin:
//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)
}
Sonuç:
false
true
Kiểu của result1 là bool và kiểu của result2 là bool
Zincir
Dize veri türü, Unicode kod noktalarının dizisini temsil eder. Başka bir deyişle, bir dizenin değiştirilemez bir bayt dizisi olduğunu söyleyebiliriz; bu, bir dize oluşturulduktan sonra onu değiştiremeyeceğiniz anlamına gelir. Dizeler, insan tarafından okunabilir biçimde sıfır değerli baytlar da dahil olmak üzere, keyfi veriler içerebilir. Dizeler toplama operatörü (+) kullanılarak birleştirilebilir.
Örneğin:
// 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)
}
Sonuç:
Chiều dài của chuỗi là: 13
Chuỗi là: Quantrimang
Kiểu của chuỗi là: chuỗi
Dize birleştirme örneği:
// 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)
}
Sonuç:
New string : STRING_Concatenation