Go Dili ve Özellikleri – Kurulumu ve Yapılandırması
Merhabalar
Bu yazıyı okul ödevim için hazırlamıştım, yoksa ne işim olur go ile
O yüzden kullanılan dil biraz resmi oldu. Ödev bu kadar değildi. 50 word sayfası var. Kurulumdan sonraki kısım standart programlama dili anlatımıyla(if, döngüler, diziler…) devam ettim. Vaktim olursa o kısımları da koyacağım. Kaynağın az olduğu bir dil hakkında bilgi toplamak çok zor. Bazı konuları C ile benzerlikleri ile anlatmaya çalıştım. Şimdilik bu dil hakkında “uyusun da büyüsün” yorumunu yapıyorum.
BÖLÜM 1. GO DİLİ VE ÖZELLİKLERİ
Go, Google tarafından geliştirilen bir programlama dilidir. Google Go’yu 2009 da tanıttı, nihai sürümü 2012 çıkacağı Go’nun resmi bloğunda duyurulmuştur.[1]
Phyton gibi dinamik bir dilin geliştirme hızını; C veya C++ gibi bir dilin güvenliğini bir potada eritiyor. Google’a göre dev kütüphaneler bile saniyeler içerisinde derlenebiliyor ve geliştirilen kod yaklaşık olarak C hızında çalışıyor. [2]
Go özellikle çok işlemcili sistemler için uygulama geliştirmeye elverişli olacak ve nesne odaklı tasarım için sade bir başlangıç sunacak. Ayrıca Google tüm dili bir Creative-Commons lisansı altında yayımladı.
Go bir sistem programlama dilidir ve hedefi de genel amaçlı bir dil sistem dili olmasıdır, tıpkı C++ gibi. Tatbikî yaklaşım ve aradan geçen zaman içinde gelişen trendlere göre arada mutlak çok fazla farklılık da bulunmaktadır.[3]
Bunları da özetlemek gerekirse;
- Go constructor ve destructorları olan sınıflar içermez, üye metotlar, sınıf miras hiyerarşisi ve sanal fonksiyonlar yerine Go, arabirim yani interfaceleri destekler ve bu da aslında C++ ile birlikte template kullandığınızda da kullanılan bir yapıdır.
- Go garbage collection (çöp toplama) yani kısaca işi biten elemanların atılarak temizlik yapılması ve gereksiz hafıza kaplamalarının önlenmesi de denebilir, bunun da modern işlemcilerde incremental olarak yapılması daha efektiftir.
- Go da pointer (işaretçiler) bulunur ancak pointer aritmetiği bulunmaz. Yani bunu da açmak gerekirse, bir işaretçi kullanarak bir stringe ait byte lar üzerinde ilerleyemessiniz.
- Diziler Go da birinci sınıf değerlerdir. Bir dizi, bir fonksiyonda parametre olarak kullanıldığında, fonksiyon dizinin bir kopyasını alır, ona ait bir işaretçi almaz. Ancak uygulamada fonksiyonlar sliceları kullanırlar. Bu da yeni bir kavramdır ve konsept olarak Slice 3 alanı olan bir struct (yapı) dır ve bir diziye işaret eden bir pointer, uzunluk ve kapasite bilgisini tutar ve [ ] operatorünü destekleyerek dizi elemanlarına erişmeyi sağlarlar ve len fonksiyonu sayesinde de Slice’ın uzunluğunu lde edebileceğiniz gibi, cap fonksiyonuyla da dizinin kapasitesini elde edebilirsiniz.
- Stringler de dil tarafından sağlanmıştı ancak bir kez oluşturulduktan sonra bir daha değiştirilemezler.
- Hash Table’lar da desteklenmiştir ve burada map olarak geçmektedir.
- Farklı threadlerin çalışırılabilmesi ve bunların arasında bir haberleşme kanalının olması da dil tarafından desteklenen bir özellik olmuştur.
- Go Header dosyaları kullanmaz. Bunun yerine, her kaynak dosyası tanımlanmış bir paketin bir parçasdır.
- Go kullanıcı tanımlı operatörleri desteklemez.
- Go const ve volatile’ı da desteklemez.
- Go geçersiz işaretçiler için nil değerini kullanır, C++ da bildiğiniz gibi bu değer NULL olarak geçmekte idi. [3]
Resim 2: Go ile derleme hızlıdır[2]
1.2. Go İle Merhaba Dünya
package main
import“fmt”
func main(){
fmt.Printf(“Nasıl gidiyor Dünyan“)
}
Dilin resmi sitesinde(golang.org) çevrimiçi bir derleyici vardır. Seçebileceğimiz birkaç örnek program da var. Dili tanımamız açısından etkili bir yöntem.
Resim 3: Go çevrimiçi derleyici [1]
1.2. Go Dili Kurulumu
1.2.1. GoLang IDE(Tümleşik Geliştirme Ortamı)
Go dilinin Windows altında çalışan görsel bir editördür. Programı kurmak için;
- Öncelikle için Go derleyicisini(Go Software Development Kit) Windows sürümümüze göre (32bit veya 64bit) olarakhttp://code.google.com/p/gomingw/downloads/ adresinden indiriyoruz. 64bit sistem kullanıyorsanız 32 ve 64 bit derleme yapabilmek için ikisini de indirebiliriz. (64bit: gowinamd64… , 32bit için: gowinamd386…)
- İndirdiğimiz Go derleyicilerini 32bit için c:go, 64bit için ise c:go-w64 klasörüne çıkartıyoruz.
- LiteIDE X programını http://code.google.com/p/golangide/downloads/ adresinden indirip uygun bir yere kuruyoruz.
- Kurulan yerdeki bin klasöründeki liteide.exe ile programı çalıştıralım.
İlgili yerden yeni bir go uygulaması oluşturalım.
Resim 4: Lite IDE ile yeni bir uygulama
Görüldüğü üzere program lua dilini de tanıyor. Go uygulamasını oluşturduğumuzda varsayılan uygulama ile karşılayacak. Uygulamamızı derleyip sonucu görelim.
Resim 5: Lite IDE ile ilk uygulama
Aşağıdaki panelde çıktı görülüyor. Yukarıdaki araç çubuğunda Env den projemizin 64 veya 32 bit derlenebileceğini seçebiliyoruz.
1.2.1 IntelliJ IDEA ile Go
IntelliJ IDEA, çoğu Java geliştiricisi ve endüstri uzmanları tarafından piyasadaki en iyi Java IDE olarak kabul edilmiştir. Endüstri lideri özellikleriyle IntelliJ IDEA Java programcılarını zaman harcayan rutin görevlerden kurtarır ve üretkenliklerini arttırır. IntelliJ IDEA, geliştirici üretkenliğine odaklanan bir kod merkezli IDE’dir. Editör kodunuzu tam olarak anlar ve kod temelli yapısını bilir, ihtiyaç duyduğunuzda doğru önerilerde bulunur ve kodunuzu biçimlendirmek için çok kullanışlıdır. Birçok dil ile bütünleştirilebiliyor. Ayrıca programın ücretsiz sürümü de mevcuttur. [4]
Resim 6: IDEA logo [4]
Bu kullanışlı geliştirme ortamında Go uygulamaları yapabilmek için bir IDEA eklentisi yüklememiz gerekiyor.
Programın kurulumu ve Go ile bütünleştirilmesi:
- Önce IDEA’yı http://www.jetbrains.com/idea/download/ adresinden indirelim. Standart ayarlarıyla kuralım.
- IDEA’ya Go eklentitisin yüklemek için programın karşılama ekranında Open Plugin Manager tıklayıp Available sekmesi altındaGoogle Go Language eklentisini kuruyoruz. Programı yeniden başlattıktan sonra aktif olacaktır.
Resim 7: IDEA ya Go eklentisinin yüklenmesi
- Derleyebilmek için IDEA programına Go derleyicisini göstermemiz gerekiyor. http://code.google.com/p/gomingw/downloads/adresinden Go derleyicisini indirip IDEA ya gösterebileceğimiz bir yere çıkartalım. (IDEA’nın klasörüne önerilir)
- Şimdi örnek bir uygulama geliştirerek sonucu görelim. New Proje sihirbazından Next yaparak uygulama adı ve türünü seçme bölümüne gelelim proje adını ve yerini girdikten sonra Select Type bölümünden Go Module seçip devam edelim.
Resim 8: IDEA ile Go projesi
- Sonraki adımda bizden Go derleyicisinin (Project SDK) yolunu isteyecek. Configure butonuna tıklıyoruz. IDEA’yı 32bit olarak çalıştırdığımız için 32 bit Go derleyicisinin yolunu gösterip onaylıyoruz.
Resim 9: Go SDK
- Projeyi oluşturduktan sonra sağdaki proje panelinde dosyaları görebiliyoruz. Bu projeye yeni bir Go uygulaması eklemek için;src klasörüne sağ tıklayıp New>Go>Go application ile uygulamanın ismini vererek oluşturalım.
Resim 10:IDEA’da Go Uygulaması
Hiç yorum yok:
Yorum Gönder