Go Veri Türleri
Aşağıda Go dilindeki tüm yerleşik türler listelenmiştir, referans olarak kullanılabilir. Daha fazla detay için Referans El Kitabı - Türler adresini ziyaret edebilirsiniz.
Boolean Türü
Boolean türü sadece doğru ve yanlış değerlere sahiptir.
| Tür | Açıklama |
|---|---|
bool | true doğru değer, false yanlış değer |
TIP
Go'da tamsayı 0 yanlış değeri temsil etmez, sıfır olmayan tamsayılar da doğru değeri temsil edemez. Yani sayılar boolean değerlerin yerine mantıksal判断 için kullanılamaz, ikisi tamamen farklı türlerdir.
Tamsayı Türleri
Go'da farklı bit sayıları için farklı türler ayrılmıştır, esas olarak işaretsiz ve işaretli tamsayılara ayrılır.
| Sıra | Tür ve Açıklama |
|---|---|
uint8 | İşaretsiz 8 bit tamsayı |
uint16 | İşaretsiz 16 bit tamsayı |
uint32 | İşaretsiz 32 bit tamsayı |
uint64 | İşaretsiz 64 bit tamsayı |
int8 | İşaretli 8 bit tamsayı |
int16 | İşaretli 16 bit tamsayı |
int32 | İşaretli 32 bit tamsayı |
int64 | İşaretli 64 bit tamsayı |
uint | İşaretsiz tamsayı en az 32 bit |
int | Tamsayı en az 32 bit |
uintptr | İşaretsiz 64 bit tamsayıya eşdeğerdir, ancak özel olarak işaretçi işlemleri için kullanılır, ölü işaretçi adreslerini saklamak için kullanılır. |
Ondalık Sayı Türleri
IEEE-754 ondalık sayılar, esas olarak tek hassasiyetli ve çift hassasiyetli ondalık sayılara ayrılır.
| Tür | Açıklama |
|---|---|
float32 | IEEE-754 32 bit ondalık sayı |
float64 | IEEE-754 64 bit ondalık sayı |
Karmaşık Sayı Türleri
| Tür | Açıklama |
|---|---|
complex128 | 64 bit reel ve sanal sayı |
complex64 | 32 bit reel ve sanal sayı |
Karakter Türleri
Go dili string'leri tamamen UTF-8 uyumludur.
| Tür | Açıklama |
|---|---|
byte | uint8 ile eşdeğerdir, ANSCII karakterleri ifade edebilir |
rune | int32 ile eşdeğerdir, Unicode karakterleri ifade edebilir |
string | String yani byte dizisidir, []byte türüne yani byte slice'ına dönüştürülebilir |
Türetilmiş Türler
| Tür | Örnek |
|---|---|
| Array | [5]int, uzunluğu 5 olan tamsayı dizisi |
| Slice | []float64, 64 bit ondalık sayı slice'ı |
| Map | map[string]int, anahtarı string, değeri tamsayı olan map |
| Struct | type Gopher struct{}, Gopher struct'ı |
| Pointer | *int, bir tamsayı işaretçisi. |
| Func | type f func(), parametresi ve dönüş değeri olmayan fonksiyon türü |
| Interface | type Gopher interface{}, Gopher arayüzü |
| Channel | chan int, tamsayı kanalı |
Sıfır Değer
Resmi belgede sıfır değer zero value olarak adlandırılır. Sıfır değer sadece kelimenin tam anlamıyla sıfır değildir, bir türün boş değeri veya varsayılan değeri olarak adlandırmak daha doğru olur.
| Tür | Sıfır Değer |
|---|---|
| Sayı türleri | 0 |
| Boolean türü | false |
| String türü | "" |
| Array | Sabit uzunlukta karşılık gelen türün sıfır değer koleksiyonu |
| Struct | İç alanları sıfır değer olan struct |
| Slice, map, fonksiyon, arayüz, channel, pointer | nil |
nil
nil diğer dillerdeki none veya null gibidir, ancak eşdeğer değildir. nil sadece bazı referans türlerinin sıfır değeridir ve hiçbir türe ait değildir. Kaynak koddan nil'in sadece bir değişken olduğu görülebilir.
var nil TypeAyrıca nil == nil gibi ifade derlenemez.
