# ⚙️ Go Kurulumu

Go üzerine küçük bir giriş yaptıktan sonra Go öğrenmek isteyenlerle derslerimize devam ediyoruz. Bu dersimizde kod yazabilmek için hangi dosyaları kurmamız gerekiyor, hangi bileşenleri eklememiz gerekiyor anlatacağız. Öyleyse başlayalım.

## 1. Go Kurulumu

&#x20;Go derleyicisi “gc”, açık kaynak yazılım olarak, **Linux**, **OS X**, **Windows**, bazı **BSD**, **Unix** ve **Mobil** ortamlarda kullanılmak üzere geliştirilmiştir. Kullandığınız platforma uygun kurulum işlemlerini aşağıda bulabilirsiniz.

> Kullanıdığınız platforma uygun Go yükleme paketini indirmek için [Tıklayınız.](https://golang.org/dl/)

### 1.1 Windows Kurulumu

1. Windows kurulum paketini indirme sayfasından indiriniz. \[[Link](https://golang.org/dl/)]
2. İndirdiğiniz dosyayı açarak kurulumu tamamlayınız.

Windows kurulumunu artık tamamladınız. CMD komut istemini çalıştırarak aşağıdaki komutu yazınız ve enterlayınız.

```bash
go version
```

Ardından ekranda aşağıdaki gibi bir çıktı göreceksiniz. Eğer göremiyorsanız Windows "[**Komut Satırında (cmd) Go Çalışmıyor | Python Go Ekleme**](https://kerteriz.net/komut-satirinda-cmd-go-calismiyor/)" yazımızı ziyaret ederek gerekli adımları tamamlayınız.

![Windows Go version komutu çıktısı](/files/-M3a3bGJFK_u0QP4BKt9)

### 1.2 MacOS Kurulumu

1. MacOS kurulum paketini indirme sayfasından indiriniz. \[[Link](https://golang.org/dl/)]
2. İndirdiğiniz dosyayı açarak kurulumu tamamlayınız.

Ardından ortam değişkenlerini ayarlamak için `~/.bash_profile` veya `~/.profile` dosyasını (veya eşdeğerini) düzenleyin. Genellikle `GOROOT`, `GOPATH` ve `PATH` olarak 3 ortam değişkeni ayarlamanız gerekir.

* `GOROOT`, Go paketinin sisteminize yüklendiği konumdur.
* `GOPATH`, çalışma dizininizin konumudur. Örneğin, proje dizinim `~/Projeler/Proje1`

```bash
export GOROOT=/usr/local/go
export GOPATH=$HOME/Projects/Proj1
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
```

MacOS kurulumunu artık tamamladınız. Terminali çalıştırarak aşağıdaki komutu yazınız ve enterlayınız.

```bash
go version
```

Ardından ekranda aşağıdaki gibi bir çıktı göreceksiniz.

![MacOS Go versiyon çıktısı](/files/-M3a6UAljG_E76moulAa)

### 1.3 Ubuntu Kurulumu

1. Linux için güncel versiyon adresini indirme sayfasından görebilirsiniz. \[[Link](https://golang.org/dl/)]
2. Aşağıdaki komutu çalıştırınız.

```bash
cd /tmp
wget https://dl.google.com/go/go1.14.1.linux-amd64.tar.gz
```

Şimdi indirilen arşivi çıkarın ve sistemde istediğiniz yere kurun. Genelde standartların önerdiği şekilde `/usr/local` dizini altında tutulur.

```bash
sudo tar -xvf go1.14.1.linux-amd64.tar.gz
sudo mv go /usr/local
```

Şimdi Go dil ortamı değişkenlerini `GOROOT`, `GOPATH` ve `PATH` ayarlayalım.

* `GOROOT`, Go paketinin sisteminize yüklendiği konumdur.&#x20;
* `GOPATH`, çalışma dizininizin konumudur. Örneğin, burada dizin `~/go`

Home dizinindeki (`~/`) `.profile` dosyanızı açın ve dosyanın sonuna genel bir değişken ekleyin.

```bash
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
```

Geçerli kabuk oturumunu güncelleyiniz.

```bash
source ~/.profile
```

Bu, terminalinizi yeniden başlatmadan Go komutlarını kullanmanızı sağlar.

Ubuntu kurulumunu artık tamamladınız. Terminali çalıştırarak aşağıdaki komutu yazınız ve enterlayınız.

```bash
go version
```

Ardından ekranda aşağıdaki gibi bir çıktı göreceksiniz.

![Ubuntu Go versiyon çıktısı](/files/-M3aBIUe1iN07hXw7u9H)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://derslik.kerteriz.net/go/go-kurulumu.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
