> For the complete documentation index, see [llms.txt](https://derslik.kerteriz.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://derslik.kerteriz.net/go/temel-dersler/go-veri-tipleri/go-sayilar.md).

# # Go Sayılar

Go veri tiplerine genel bir baktıktan sonra ilk veri tip kategorimiz olan **Go Sayılar** ile derslerimize devam ediyoruz. Go programlama dilinde sayısal tiplerde birçok veri tipimiz mevcut olup aşağıdaki tablodan bu veri tiplerini inceleyebilirsiniz.

## 1. Integer Sayı Veri Tipleri

Integer sayı veri tipleri **tam sayı değerleri**ni tutarlar. En çok kullanılan Integer tipi `int` olmakla beraber tüm veri tiplerini aşağıda görebilirsiniz.

```go
var x int = 65
var y int = 65325
```

| Veri Tipi   | Hafıza                                                                          | İşaret   | Aralık          |
| ----------- | ------------------------------------------------------------------------------- | -------- | --------------- |
| **int8**    | 8-bit                                                                           | signed   | -128 ► 127      |
| **int16**   | 16-bit                                                                          | signed   | -2^15 ► 2^15 -1 |
| **int32**   | 32-bit                                                                          | signed   | -2^31 ► 2^31 -1 |
| **int64**   | 64-bit                                                                          | signed   | -2^63 ► 2^63 -1 |
| **uint8**   | 8-bit                                                                           | unsigned | 0 ► 255         |
| **uint16**  | 16-bit                                                                          | unsigned | 0 ► 2^16 -1     |
| **uint32**  | 32-bit                                                                          | unsigned | 0 ► 2^32 -1     |
| **uint64**  | 64-bit                                                                          | unsigned | 0 ► 2^64 -1     |
| **int**     | 32-bit veya 64 bit. (Platforma göre int32 veya int64 ile eşit)                  | unsigned | Platforma bağlı |
| **uint**    | 32-bit veya 64 bit. (Platforma göre uint32 veya uint64 ile eşit)                | unsigned | Platforma bağlı |
| **rune**    | 32-bit (int32 ile aynıdır. Unicode karakter kodlarını ifade eder.)              | signed   | -2^31 ► 2^31 -1 |
| **byte**    | 8-bit (int8 ile aynıdır)                                                        | signed   | -128 ► 127      |
| **uintptr** | işaretçi değerinin yorumlanmamış bitlerini saklamak için işaretsiz bir tam sayı | unsigned | -               |

## 2. Float Sayı Veri Tipleri

Float sayı veri tipleri **ondalıklı sayı değerleri**ni tutarlar. Platformunuza göre kullanacağınız Float tipini belirleyebilir ve tüm veri tiplerini aşağıda görebilirsiniz.

{% hint style="info" %}
Sayılarda ki ondalık kısımları `. (nokta)` ile belirtmelisiniz. `, (virgül)` kullanımı hataya sebep olacaktır.
{% endhint %}

```go
var pi float32 = 3.14
var katsayi float64 = -152.65
```

| Veri Tipi   | Hafıza | İşaret | Aralık          |
| ----------- | ------ | ------ | --------------- |
| **float32** | 32-bit | signed | -2^32 ► 2^32 -1 |
| **float64** | 64-bit | signed | -2^64 ► 2^64 -1 |

## 3. Complex Sayı Veri Tipleri

Complex sayı veri tipleri **karmaşık sayı değerleri**ni tutarlar. Bu veri tipi tam ve sanal olmak üzere iki bölümden meydana gelmektedir. Tüm veri tiplerini aşağıda görebilirsiniz.

```go
var a complex128 = complex(6, 2) // (6+2i)
var b complex64 = complex(-9, 2)  // (-9+2i)
```

| Veri Tipi      | Hafıza                      | İşaret | Aralık          |
| -------------- | --------------------------- | ------ | --------------- |
| **complex64**  | 32-bit (tam ve sanal kısmı) | signed | -2^32 ► 2^32 -1 |
| **complex128** | 64-bit (tam ve sanal kısmı) | signed | -2^64 ► 2^64 -1 |

## 4. Sayı Veri Tipleri Arası Dönüşüm

Tanımladığınız sayı veri tipini daha sonradan değiştirmek isterseniz (**Type conversion**), değiştirmek istediğiniz değişkeni dönüştürmek istediğiniz veri tipinin parantezine alarak dönüşümü yapabilirsiniz.

```go
var i int = 42
var f float64 = float64(i)
var u uint = uint(f)
```
