Bu kılavuz, Go Programlama dilinin ne olduğunu ve Linux’ta Go dilinin nasıl kurulacağını ve son olarak basit bir örnekle Golang’da bir test programının nasıl oluşturulacağını açıklamaktadır.
Go Dili Nedir?
GoLang olarak da bilinen Go, Google’da Robert Griesemer, Rob Pike ve Ken Thompson tarafından 2007 yılında geliştirilen açık kaynaklı bir programlama dilidir.
Go dili, 10 Kasım 2009’da halka açık bir açık kaynak projesi haline geldi. Go dili, Google’ın bazı üretim sunucularının yanı sıra Dropbox, CoreOS, CloudFlare, Docker, Soundcloud, Uber ve daha birçok şirket tarafından aktif olarak kullanılıyor.
Şimdi devam edelim ve Golang’ı kurmanın ve Linux’ta Go programlama dilini yapılandırmanın iki yolunu görelim.
Linux’ta Go Language’i kurun
Yukarıda belirtildiği gibi, Golang’ı dağıtımınızın varsayılan paket yöneticisini kullanarak kurabilir veya Golang’ı kaynaktan derleyip kurabiliriz. İkisini de göreceğiz.
1. Paket Yöneticilerini kullanarak Golang’ı kurun
Go dili, çoğu modern Linux dağıtımının varsayılan depolarında bulunur.
Golang’ı Alpine Linux’a yüklemek için şunu çalıştırın:
$ sudo apk add go
Arch Linux’ta ve EndeavourOS ve Manjaro Linux gibi değişkenlerde:
$ sudo pacman -S go
Fedora, RHEL gibi RPM tabanlı sistemlerde ve CentOS, AlmaLinux ve Rocky Linux gibi klonlarında şunu çalıştırın:
$ sudo dnf install golang
Daha eski RHEL sistemlerinde, dnf yerine yum kullanın:
$ sudo yum install golang
Debian, Ubuntu, Linux Mint ve Pop OS gibi DEB tabanlı sistemlerde Go dilini şu komutu kullanarak kurabilirsiniz:
$ sudo apt install golang
SUSE/openSUSE’de:
$ sudo zypper install golang
Kurulduktan sonra, şu komutu kullanarak Golang sürümünü kontrol edin:
$ go version
Örnek çıktı:
go version go1.18.1 linux/amd64
1.1. Kurulumu Test Edelim
merhaba.go adlı bir dosya oluşturun:
$ vi hello.go
İçine aşağıdaki kodu ekleyin:
package main import "fmt" func main() { fmt.Printf("hello, world\n") }
Dosyayı kaydedin ve kapatın.
Şimdi, komutu kullanarak kodu çalıştırın:
$ go run hello.go
Örnek çıktı:
hello, world
2. Golang’ı Kaynaktan Yükleyin
Go, bazı Linux dağıtımlarının varsayılan depolarında mevcuttur. Ancak, varsayılan depolardaki Go dili sürümü biraz eski olabilir. Bu nedenle, tarball’ı resmi web sitesinden indirerek en son sürümü kullanmanız ve aşağıda açıklandığı gibi manuel olarak kurmanız her zaman önerilir.
Aşağıdakiler Ubuntu 16.04 ve Ubuntu 22.04 sürümlerinde test edilmiştir. Ancak, bu adımlar diğer Linux dağıtımları için aynıdır.
En son Golang sürümünü buradan indirin.
$ wget https://go.dev/dl/go1.19.5.linux-amd64.tar.gz
Ardından, aşağıda gösterildiği gibi indirilen dosyanın bütünlüğünü kontrol edin.
$ sha256sum go1.19.5.linux-amd64.tar.gz
Örnek çıktı:
36519702ae2fd573c9869461990ae550c8c0d955cd28d2827a6b159fda81ff95 go1.19.5.linux-amd64.tar.gz
Lütfen yukarıda görüntülenen SHA256 Sağlama Toplamı değerinin indirme bağlantısıyla sağlanan değerle eşleşmesi gerektiğini unutmayın. Eşleşmiyorsa, yeni tarball’ı indirin ve devam edin.
İndirilen tarball’ı şu komutu kullanarak çıkarın:
$ sudo tar -C /usr/local -xvzf go1.19.5.linux-amd64.tar.gz
Bu komut, tarball’ı /usr/local dizinine çıkarır. Burada -c bayrağı hedef dizini belirtir.
2.1. Go Dilini Yapılandırma
Şimdi, Kullanıcınızın profil dosyasında Go dilinin yürütülebilir yolunu ayarlamamız gerekiyor.
Bunu yapmak için kullanıcı profili dosyanızı düzenleyin:
$ vi ~/.profile
Aşağıdaki satırı ekleyin:
export PATH=$PATH:/usr/local/go/bin
Sistem çapında bir kurulum için yukarıdaki satırı /etc/profile dosyasına ekleyin.
Dosyayı kaydetmek ve kapatmak için :wq yazın.
Ardından, Go dili yapılarını kaydedeceğimiz Go dili için kurulum çalışma alanı.
2.2. Çalışma Alanı Dizini Oluşturma
Çalışma alanı, kökünde üç dizin bulunan bir dizin hiyerarşisidir:
- src Go kaynak dosyalarını içerir,
- pkg paket nesneleri içerir,
- ve bin yürütülebilir komutlar içerir.
Komutu kullanarak Go dili çalışma alanı için yukarıdaki dizin hiyerarşisini oluşturun:
$ mkdir -p $HOME/go_projects/{src,pkg,bin}
Burada, $HOME/go_projects, Go’nun dosyalarını oluşturacağı dizindir.
Ardından, Go’yu yeni çalışma alanına yönlendirmemiz gerekiyor.
Bunu yapmak için ~/.profile dosyasını düzenleyin:
$ sudo vi ~/.profile
Yeni çalışma alanı dizinine Go ‘yu işaret etmek için aşağıdaki satırları ekleyin.
export GOPATH="$HOME/go_projects" export GOBIN="$GOPATH/bin"
Go dili, varsayılan konumdan (yani /usr/local/) başka bir konuma kuruluysa, ~/.profile dosyasında kurulum yolunu (GOROOT) belirtmeniz gerekir. Örneğin, HOME dizininize go lang yüklediyseniz, kullanıcı profili dosyasına aşağıdaki satırları eklemeniz gerekecek.
export GOROOT=$HOME/go export PATH=$PATH:$GOROOT/bin
Golang’ı paket yöneticilerini kullanarak kurduysanız, kurulum yolunun /usr/lib/go veya /usr/lib/golang olacağını lütfen unutmayın. GOROOT’ta doğru yol değerini güncellemeniz gerekir.
Uygun değerleri belirledikten sonra, Go lang ortam değerlerini güncellemek için aşağıdaki komutu çalıştırın.
$ source ~/.profile
Sistem genelinde yükleme yaptıysanız, bunun yerine şu komutu çalıştırın:
$ source /etc/profile
2.3. Golang Sürümünü Kontrol Edin
Şimdi, Go dilini düzgün bir şekilde kurup yapılandırmadığınızı doğrulamak için aşağıdaki komutları çalıştırın.
Yüklü sürümü kontrol edelim:
$ go version
Örnek çıktı:
go version go1.19.5 linux/amd64
Go lang ortam bilgilerini görüntülemek için şunu çalıştırın:
$ go env
Örnek çıktı:
GO111MODULE="" GOARCH="amd64" GOBIN="/home/ostechnix/go_projects/bin" GOCACHE="/home/ostechnix/.cache/go-build" GOENV="/home/ostechnix/.config/go/env" GOEXE="" GOEXPERIMENT="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GOMODCACHE="/home/ostechnix/go_projects/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/home/ostechnix/go_projects" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GOVCS="" GOVERSION="go1.19.5" GCCGO="gccgo" GOAMD64="v1" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="/dev/null" GOWORK="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build350461959=/tmp/go-build -gno-record-gcc-switches"
Yukarıdaki gibi bir çıktı görürseniz, tebrikler! Go dili kullanıma hazırdır. Go programlarınızı kodlamaya başlayabilirsiniz.
2.4. Go kullanarak Basit bir ‘merhaba dünya’ Programı oluşturun
Artık Go dilini nasıl kuracağımızı, yapılandıracağımızı ve güncelleyeceğimizi biliyoruz. Devam edelim ve basit bir ‘merhaba dünya’ programı oluşturalım.
Programınızın kaynak kodunu saklamak için ayrı bir dizin oluşturun. Aşağıdaki komut, ‘merhaba dünya’ program kaynak kodunu saklamak için bir dizin oluşturur.
$ mkdir $HOME/go_projects/src
$ mkdir $HOME/go_projects/src/hello
Hello dizini içinde hello.go adlı bir dosya oluşturun:
$ vi $HOME/go_projects/src/hello/hello.go
Aşağıdaki satırları ekleyin:
package main import "fmt" func main() { fmt.Println("Hello, World") }
Dosyayı kaydedip kapatın. Ardından, ‘merhaba dünya’ programını derlemek için aşağıdaki komutu çalıştırın:
$ go install $GOPATH/src/hello/hello.go
Son olarak, şu komutu kullanarak ‘hello world’ programını çalıştırın:
$ $GOBIN/hello
Örnek çıktı:
Hello, World
Tebrikler! Az önce Go dilini kullanarak örnek bir program oluşturdunuz.
Golang’ı güncelleme
Go’yu paket yöneticisini kullanarak yüklediyseniz, sisteminizi güncellemeniz yeterlidir. Depolarda en son sürüm varsa, Golang otomatik olarak güncellenecektir.
Golang’ı kaynaktan yüklediyseniz, talimatları izleyin.
İlk olarak, mevcut sürümü kaldırın.
Golang’ı kaldırmak için /usr/local/go dizinini aşağıdaki komutu kullanarak silin:
$ sudo rm -rf /usr/local/go
Yukarıdaki “Golang’ı Kaynaktan Kur” bölümünde belirtildiği gibi yeni sürümü indirin ve kurun.
$ wget https://go.dev/dl/go1.19.5.linux-amd64.tar.gz
Tar dosyasını indirdiğiniz konuma gidin ve arşiv dosyasını $PATH’nize çıkarın:
$ sudo tar -C /usr/local -xvzf go1.19.5.linux-amd64.tar.gz
PATH dosyanızın /usr/local/go/bin içerdiğinden emin olun.
$ echo $PATH | grep "/usr/local/go/bin"
Go Dilini Kaldırma
Artık Go dilini istemiyorsanız, go dizinini yani /usr/local/go’yu kaldırarak Golang’ı kaldırabilirsiniz.
$ rm -rf /usr/local/go
ENTER tuşuna basmadan önce yolu ikiye katlayın.
Golang’ı paket yöneticilerini kullanarak yüklediyseniz, Golang’ı kaldırmak için ilgili kaldırma komutunu kullanabilirsiniz. Örneğin, Debian tabanlı sistemlerde Go programlama dilini kaldırmak için aşağıdaki komutu çalıştırın:
$ sudo apt remove golang
Ayrıca, çalışma alanı dizinlerini de silin.
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.