Bloğa geri dön

Go Programlarını Derleme ve Kurma

Go Programlarını Derleme ve Kurma

Go statik olarak türlendirilmiş bir programlama dilidir. İlk olarak Google tarafından tasarlanan Go, sözdizimi açısından C ile benzerlikler taşır. Ancak işlevsellik açısından Go; bellek güvenliği, çöp toplama (garbage collection), yapısal türlendirme vb. gibi ek özelliklerle birlikte gelir. Son birkaç yıldır Go, inanılmaz bir popülerlik kazanmaktadır.

Bu kılavuz, demo bir Go programı yardımıyla Go programlarını derleme ve yükleme adımlarını inceleyecektir.

Go Derleme ve Yükleme

Daha ileri gitmeden önce, Go programlama bağlamında derleme (building) ve yüklemenin (installing) ne anlama geldiğine hızlıca bir göz atalım.

Go programlamada derleme, kaynak kodun ikili bir yürütülebilir dosyaya (binary executable) dönüştürülmesi sürecini ifade eder. Yürütülebilir dosya, hedef platformda bağımsız olarak çalışabilmesi için gerekli destek kodlarını içerecektir. Ruby/Python programlarının aksine, Go ikili dosyaları genellikle yeni bir sistemde çalışmak için herhangi bir sistem bağımlılığı gerektirmez.

Go ikili dosyasını sistemdeki yürütülebilir bir dosya yoluna yerleştirmek, programı yüklemek olarak adlandırılır. Daha önce de belirtildiği gibi, bu kılavuz basit bir Go “Hello world” programının çalıştırılmasını, derlenmesini ve yüklenmesini gösterecektir.

Gereksinimler

Başlamadan önce, öğreticiyi takip etmek için karşılamanız gereken gereksinimleri gözden geçirelim:

İlk olarak, Go programlama ortamının kurulmasını ve yapılandırılmasını hızlıca gözden geçireceğiz. Daha derinlemesine, adım adım bir Go kurulum kılavuzu için buraya bakın.

Go Kurulumu

Go, tüm büyük platformlarda (Windows, Linux ve macOS) mevcuttur. Resmi olarak doğrudan Golang üzerinden edinilebilir. Web sitesinin adı nedeniyle Go, genellikle Golang olarak adlandırılır. Burada, Go programlama dilini her zaman Go ve Golang web sitesini Golang olarak adlandıracağız.

Golang, şunun hakkında ayrıntılı belgeler sunar: desteklenen tüm platformlar için Go kurulumu. Ancak resmi yöntem manuel kurulumu açıklar. Her yeni sürüm yayınlandığında, kurulumu manuel olarak en son sürüme güncellemeniz gerekir. Bunun yerine, Go'yu doğrudan APT (varsayılan Ubuntu depolarından) veya snap (şuradan: Snapcraft).

●     APT kullanarak Go Kurulumu

Go, resmi Ubuntu depolarından doğrudan edinilebilir. Ancak her zaman Go'nun en son sürümü olmayabilir. Ubuntu deposunda Go'nun iki varyasyonu da mevcuttur: golang-go ve gccgo-go. golang-go Golang'in resmi sürümüyken, gccgo-go ise GCC için Go ön ucudur (GNU derleyicisinin bir parçası olarak). Genellikle, golang-go tercih edilen seçenektir.

To install golang-go kurulumunu yapmak için aşağıdaki APT komutunu çalıştırın:

Go Programs apt update and go install

Go sürümünü kontrol edin:

go version
●     snap kullanarak Go Kurulumu

Snap'ler, desteklenen herhangi bir dağıtıma kurulabilen evrensel Linux paketleridir. Snapcraft, tüm kurulum kılavuzlarıyla birlikte desteklenen dağıtımları listeler. Ubuntu'da snap desteği varsayılan olarak etkindir. Go, bir snap olarak da mevcuttur. Bunun resmi olarak Golang tarafından sürdürülmediğini unutmamanız gerekir. Snap paketi, üçüncü taraf bir sağlayıcı tarafından yönetilmektedir.

Go snap kurulumunu yapmak için aşağıdaki komutu çalıştırın:

snap install go

Ardından, Go sürümünü kontrol edin:

snap go version

Bir Go Projesi Kurma

Sistemimiz, Go'da uygulamalar geliştirmeye başlamak için gerekli tüm araçlara sahiptir. Demo projemizi oluşturma zamanı. İlk olarak, projemiz için özel bir dizin oluşturun:

mkdir demo_project

Ardından, mevcut dizini yeni oluşturulan dizinle değiştirin:

cd demo_project

Burada, main.go:

Aşağıdaki kod, çalıştırıldığında “Hello world” yazdıracak basit bir program içerir. Kodu kopyalayın:

Go Programs nano main_go

Dosyayı kaydedin ve düzenleyiciyi kapatın. Kodun düzgün çalıştığını doğrulayın:

run main_go

Go derleyicisi kaynak dosyayı bir ikili (binary) dosyaya derledi ve çalıştırdı. Ayrıca programın başarıyla çalıştığını doğrular.

Go Çalışma Alanı Yapılandırması

Go programlarını düzgün bir şekilde yüklemek için Go çalışma alanını ve GOPATH'i yapılandırmamız gerekir.

İlk olarak, dizin yapısını oluşturun:

mkdir bin src

Ardından, değerini tanımlamamızGOPATH ve bunu PATH yoluna eklememiz gerekir. bashrc dosyasını açın:

Go Programs nano bashrc

Dosyanın sonuna aşağıdaki satırları ekleyin:

Go Programs nano bashrc modified

Yeniden yükleyin: bashrc:

Değişikliğin başarılı olup olmadığını doğrulayın:

path variable

Go İkililerini Derleme

Bu bölümde, Go kodlarının dağıtılabilir bağımsız bir ikili (binary) dosyaya nasıl derleneceği gösterilecektir. İkili dosya, yalnızca Go kodunu değil, aynı zamanda ikiliyi çalıştırmak için ek sistem kodlarını da içerecektir. Kodumuzu derlemek için aşağıdaki komutu çalıştırın:

build main_go

Birden fazla Go kodu dosyası varsa, aşağıdaki komutu kullanın:

Herhangi bir dosya belirtilmezse, Go geçerli dizindeki Go dosyalarını arayacak ve hepsini derleyecektir. Her ikili dosya, kaynak Go dosyasının adını alır. Bu örnekte Go, programını derledi.main. Programı çalıştırın:

run main binary

Bu program diğer bilgisayarlara dağıtılmaya hazırdır.

●     İkili dosya adını değiştirme

Derleme yaparken Go, yürütülebilir dosya için otomatik olarak bir ad seçecektir. Ad seçimi söz konusu olduğunda iki olası seçenek vardır.

  • Eğer Go modülleri kullanılıyorsa, yürütülebilir dosya modül adının son kısmını kullanacaktır.
  • Herhangi bir Go modülü kullanılmıyorsa, Go geçerli dizinin adını veya kaynak dosyanın adını kullanacaktır.

Daha karmaşık programlarla çalışmak farklı bir adlandırma kuralı gerektirir. Bu tür senaryolarda, bu varsayılan adlandırma yöntemleri pek kullanışlı değildir. Böyle bir durumda en iyi yol, bayrağını kullanarak çıktıyı özelleştirmektir.-o. Kısa bir gösterim yapalım. Go programını -o bayrağıyla farklı bir dosya adı belirterek derleyin:

build binary with different name

bayrağı,-o Go'ya çıktıyı verilen argümanla eşleştirmesini söyler. Bu durumda, yürütülebilir dosya dizini altında yer alacakbin ve adı olacaktır.hello.

Ardından, yeni yürütülebilir dosyayı test edin:

bin hello_go

Go Programlarını Yükleme

Şimdiye kadar, kaynak dosyalardan dağıtılabilir Go ikililerinin nasıl derleneceğini gösterdik. Bunları diğer sistemlere dağıtabilir, konuşlandırabilir ve testler gerçekleştirebiliriz. Ancak, kaynak dizinlerinin dışında çalıştırılamazlar. Programı aktif olarak kullanmayı planlıyorsanız, bu kısıtlama çok can sıkıcı olabilir. İşleri kolaylaştırmak için Go programlarını yükleyebilir ve bunlara sistem genelinde her yerden erişebiliriz.

Programı yüklemek için kaynak dizininde aşağıdaki Go komutunu çalıştırın:

go install

Bu komut, komutuyla aynı şekilde davranır.go build. Ancak, yürütülebilir dosyayı kaynak dizinde bırakmak yerine aşağıdaki dizine yerleştirir:

veGOPATH değişkenleri,GOBIN Go'ya Go çalışma alanlarını nerede arayacağını söyler. GOPATH için varsayılan konum $HOME/go konumudur. Biz değeriniGOBIN manuel olarak $GOPATH/bin olarak ayarladık. veGOPATH konumunu kontrol etmek içinGOBIN aşağıdaki komutu kullanın:

go env path

Şu dizinin içeriğini kontrol edin: $GOPATH/bin. Programımız orada olmalıdır:

ls go path

Kurulumun başarılı olup olmadığını doğrulama zamanı. Geçerli dizini farklı bir konuma değiştirin ve Go programını çalıştırmayı deneyin:

Go Programs check installation by running binary

Son olarak, programlarınızı alıp sisteminize yükleyebilmelisiniz. Onları ihtiyaç duyduğunuz her an ve her yerden kullanabilirsiniz.

Son Düşünceler

Bu eğitimde, kaynak kodlardan çalıştırılabilir ikili dosyalar oluşturmak için Go araç zincirlerinin nasıl kullanılacağını başarıyla gösterdik. Bu ikili dosyalar, herhangi bir Go yapılandırması olmasa bile diğer sistemlerde kullanılabilir. Son olarak, Go programının sistemin her yerinden erişilebilir olması için nasıl kurulacağını gösterdik.

Geliştiriciler için, CloudSigma, Go API desteği sunar bulut sunucularınızı yönetmeniz için. Kaynakları düzenlemeye ve altyapı ölçeklendirmesine olanak tanır.

Keyifli Çalışmalar!

author

Pranay Kapgate

Yazar · CloudSigma

Preslav Dobrev, CloudSigma'da Kreatif Tasarımcı olarak görev yapmakta olup geleneksel ve yenilikçi pazarlama kanallarını kullanarak tutarlı bir kurumsal kimlik oluşturmaya odaklanmaktadır. Sanatsal vizyonu stratejik pazarlamayla harmanlayarak etkili marka anlatıları oluşturma konusunda oldukça yeteneklidir.

Yorumlar

Henüz yorum yapılmamış. İlk siz olun.