1# Go Programala Dili — Temel Bilgiler

Nailcan Küçük
İyi Programlama
3 min readJan 15, 2020

--

Son zamanlarda adını sıkça duymaya başladığımız Go, Google tarafından desteklenen bir programlama dili projesidir. Go projesi yaratıcı ve geliştirici ekibi bünyesinde, yazılım ve bilgisayar bilimleri dünyasınının saygın isimleri Robert Griesemer, Rob Pike(Plan9, Limbo) ve Ken Thompson’u (UNIX, B, C, UTF-8) bulundurmaktadır.

Yazımı 2007 yılında başlayan Go projesinin ilk versiyonu 2009 yılında yayınlanmıştır. 2019 yılı itibari ile 10. yaşını kutlayan Go sade yapısı, kolay öğrenilebilir olması ve performans metriklerinin başarısı ile, gophers ailesini her geçen gün büyütmektedir.

Aktif olarak Docker, Kubernates, Google, Uber, Twitch, Adobe, Facebook, eBay… vs gibi birçok firma tarafından kullanılmaktadır.

Dil ile ilgili olarak geliştiricilerinin savunduğu prensiplerden bir tanesi performansından ve kullanım gerekliliğinden emin olmadıkları hiç bir yapıyı dile entegre etmeyeceklerini belirtmeleri. Örneğin Go da jenerik(generic) programlama yoktur. Neden olmadığı konusunda Go geliştiricileri jeneriklerin kod okunurluğunu olumsuz etkilediğini ve yeterince performanslı olmadığını, henüz bu durum için de bir çözüm üretemediklerini, üretmeden de dile entegre etmeyeceklerini belirtmişlerdir. Bir diğer savundukları prensipleri ise Go’nun son versiyonunda da ilk versiyonda sundukları özellikleri desteklemeye devam edecek olacaklarıdır.

Bu özenli ve titiz yaklaşımları, diğer dillerde ve projelerde yaşadıkları tecrübelerle de birleşince sade ve efektif bir dil ortaya çıkmış.

Go programalama dili ile ilgili kısa kısa bahsedecek olursak:

  • Fonksiyonel bir programlama dilidir.
  • Sadece 25 keyword’den oluşur.
  • Her OS’de geliştirilebilir. Her OS’de çalışır. Derleme esnasında çalışacağı OS’e göre farklı derlenebilmektedir. Derleme süresi hızlıdır.
  • Derleme sonucu kodumuz native binary kod olarak tek bir dosyaya indirgenir.
  • Garbage Collector dilin kendisinde vardır.
  • Değişken tanımında tür belirtimi isteğe bağlıdır.
  • Eşzamanlı programlamayı destekler.
  • Kendi paket yöneticisi vardır.
  • 2014 yılı itibari ile mobil cihazlarda da çalışabilmektedir.

Go öğrenmek için ilk olarak Go Turu sayfasından başlayabilirsiniz.

https://tour.golang.org

Resmi sitesindeki dokümantasyon sayfası oldukça başarılı.

Ayrıca online olarak da kodunuzu yazıp çıktılarını görebileceğiniz bir editöre sahip.

Şimdi bu sayfaya girerek ilk Go kodumuzu çalıştırabiliriz.

package mainimport (
“fmt”
)
func main() {
fmt.Println(“Hello World!”)
}

Son zamanlarda oldukça ilgimi çeken ve öğrenmek için uzun süredir çaba sarfettiğim Go ile ilgili kısaca bilgi vermeye çalıştım. Bu yazı sonrasında da öğrenim sürecinde tuttuğum notları toparlayarak seri halinde buradan paylaşıyor olacağım.

--

--