Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

Go Programlama Dili (Go) Kurulumu

2 min read

Go kurulumu

Go dersi niteliğindeki Go kurulumu kurulumu konusuna geçmeden önce kısaca Go dilinden bahsetmekte fayda var.

Go (diğer adıyla golang), Google mühendisleri tarafından 2007’den itibaren geliştirilmeye başlanan açık kaynak bir programlama dilidir. Daha çok sistem programlama için tasarlanmış olmakla birlikte web, GUI, IoT gibi çok geniş bir yelpazede kullanım imkânı (yeteneği) bulunmaktadır. Derlenmiş ve statik tipli bir dildir. Kasım 2009 geliştiricilerin kullanımına sunulmuştur. 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.

Hatırlarsanız Bilgem Çakır | T-Şekilli Olmak Ne Demek? başlıklı yazımda (videoda) esas uzmanlık alanınızın dışındaki alanlarda da %70 seviyede bilgi sahibi olmanın gerekliliğinden bahsediliyordu. Ben de uzun zaman önce yan dal olarak Go Programlama Dilini seçmiştim fakat tecrübelerimi paylaşmak bugüne nasipmiş. Umarım faydası olur.

Go Programlama Dili (Golang) Kurulum Aşamaları

Go programlama dilini kullanmak için gerekli geliştirme ortamını aşağıdaki adımları takip ederek kuracağız:
1. Homebrew kurulumu
2. Go kurulumu
3. Klasörlerin oluşturulması
4. Ortam değişkenlerinin (GOPATH, GOROOT, GOBIN, PATH) tanımlanması

Homebrew Kurulumu

MacOS işletim sistemi yüklü bilgisayarımıza Go’yu kurarken Homebrew isimli paket yöneticisinden faydalanacağız. Bu nedenle öncelikle (eğer kurulu değilse) Homebrew kurulumu için terminalde çalıştıracağınız tek satırlık komutu paylaşıyorum.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Go Kurulumu

Homebrew kullanarak Go’yu kurmak için terminalde girmemiz gereken komut şundan ibaret:

brew install go

Kurulumun sorunsuz bir şekilde tamamlandığını anlamak için aşağıdaki komutu deneyebilirsiniz. Eğer kurulum tamamlanmışsa bu komut çıktı olarak size Go’nun kurulduğu dizin adresini verecektir.

which go
//Çıktı: /usr/local/bin/go

Klasörlerin Oluşturulması

Go’nun dizin yapısına ve hangi klasörün ne amaçla kullanıldığına başka bir yazımda değineceğim. Şimdilik sadece Go’nun kurulumunu tamamlamak için gerekli klasör oluşturucu komutu paylaşıyorum. Anadizini (Code/go) elbette istediğiniz şekilde değiştirebilirsiniz.

mkdir -p ~/Code/go/{pkg,src,bin}

Bu kod sayesinde Code/go klasöründe 3 farklı klasör oluşturulacaktır.

Go Ortam Değişkenlerinin Tanımlanması

Öncelikle MacOS yüklü bilgisayarınızda hangi SHELL‘i (bash, zsh vb.) kullandığınızı bilmeniz lazım. Bunun için aşağıdaki komuttan faydalanabilirsiniz.

echo $SHELL

Eğer çıktı olarak “bash” görürseniz bundan sonraki kısımda anadizindeki .bashrc dosyasını düzenlememiz gerekir. Ancak bash için ayrı bir işlem daha yapılması gerekmektedir. o da .bash_profile dosyasında aşağıdaki satırın bulunduğundan emin olmak.

[[ -s ~/.bashrc ]] && source ~/.bashrc

Çıktı olarak “zsh” görürseniz .zshrc dosyasını düzenlemeniz gerekir. İlave herhangi bir ayara gerek bulunmamaktadır. Ben Zsh kullandığım için bununla devam edeceğim.

Ortam değişkenlerini tanımlamak için bir metin düzenleyiciyle .zshrc dosyasını açıp en sonuna aşağıdaki satırları ekliyoruz.

export GOPATH=$HOME/Code/go
export GOROOT=/usr/local/opt/go/libexec
export GOBIN=$HOME/Code/go/bin
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$GOROOT/bin

Düzenleme bittikten sonra terminali kapatıp baştan açarsak ayarlarımız aktif hale gelecektir. Ortam değişkenlerimizin istediğimiz gibi değişip değişmediğini görmek için aşağıdaki komut ile $GOPATH’i görüntüleyebiliriz.

echo $GOPATH
//Çıktı: /Users/USER/Code/go

Bununla birlikte aşağıdaki komutun çıktısı /Users/USER/Code/go/bin dizinini içeriyorsa artık Go ile çalışmaya ve Gopher olmaya hazırsınız demektir ;)

echo $PATH
Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

Go’da Empty Struct Karşılaştırma Problemi

Yazılım geliştirirken bazen anlam veremediğimiz durumlarla karşılaşırız. Her programlama dilinde olduğu gibi Go’da da özenle işlenmesi ve açıklanması gereken konular vardır. Bunlardan birisi de...
Erhan Yakut
2 min read

Go Programlama Dili’ni Nasıl Öğrenebilirim?

Her gün çevremde Go Programlama Dili‘ni merak eden ama nasıl ve nereden başlayacağını bilemeyen birçok kişiyle karşılaşıyorum. Twitter mesaj kutum da bu konuların sorulduğu...
Erhan Yakut
3 min read