Go Nedir ? Visual Studio Code ile Go (Golang) Programlamaya Giriş

Go, Google tarafından geliştirilmiş açık kaynak kodlu bir dildir. 2007 yılında Robert Griesemer, Rob Pike ve Ken Thompson tarafından geliştirilmiştir.

Go, derlenen, statik tipli, otomatik hafıza yönetimine sahip (garbage collection), eşzamanlı (concurrent) programlamayı destekleyen, temiz, sade anlaşılması kolay, performanslı programlar üretebileceğimiz bir dildir. Bu dili geliştirenlerin amacı, yazılımcıların üretken olması, çabuk öğrenilebilmesi, eşzamanlı çalışmayı desteklemesi, çok çekirdekli (multicore) bilgisayarlarda performanslı çalışabilmesi ve hızlı derlenebilmesi olmuştur.

Topu topu 25 adet anahtar kelime vardır. Diğer dillerle karşılaştırılırsa, java’da 50, C# dilinde 70’in üzerinde anahtar kelime vardır. Az anahtar kelimeye sahip olması bu dilin basitliğini gösteren bir veri olarak değerlendirilebilir. Dili, başka bir kaynağa ihtiyaç duymadan sadece kendi sitesindeki dokümanları okuyarak öğrenebilir ve kod geliştirmeye başlayabilirsiniz.

Derlenmiş bir go programı, çalışması için herhangi bir çalışma zamanı ortamına (runtime environment) ihtiyaç duymaz. Bilgisayarınıza ne bir JVM ne de .net framework kurmanız gerekmez.

Bildiğiniz gibi google’un bünyesinde çok kapsamlı servisler, programlar çalışıyor. Binlerce, milyonlarca satırlık kodlardan bahsediyoruz. Bu kodların derlenmesi, C++ ile geliştirilirken, uzun süreler almaktaydı. Biraz da bu ihtiyaca binaen golang geliştirildi. Go ile yazılmış programlar çok hızlı bir şekilde derlenmektedir. Bu durum yazılım geliştirme sürecinde çok önemli bir süre kazancı sağlamaktadır.

Dilin sözdizimi C diline benzemektedir. Fakat golang otomatik hafıza yönetimi yapmaktadır (garbage collection). Yani C dilinde olduğu gibi manuel hafıza alanı alıp, geri silmiyoruz. İşaretçi (pointer) kavramı olmakla birlikte, kafa karıştıran ve hatalara yol açabilecek işaretçi aritmetiği gibi işlemler yok.

Go’yu sevenler kadar, nefret edenlerde var. Fakat TIOBE indeksinde dil son yıllarda çok büyük bir sıçrama yaptı. Bu durum, geliştiricilerin dili ne kadar benimsediğini ve kullanımının yaygınlaştığını göstermektedir. Bu dili geliştiren insanlar, daha önce unix’i, utf-8’i ve benzeri pek çok yazılımı, standardı geliştiren çok saygın yazılımcılardır. C++ ve diğer bazı diller gibi bir özellik çöplüğüne dönüşmemiştir. Şahsen bu dili çok beğendim ve yeni projelerimde kullanmaya başladım.

Referanslarından bahsedecek olursak, ilk akla gelen örnek, herkesin bildiği bir teknoloji olan docker’dır. Kubernetes, medium ve soundcloud  golang ile geliştirilmiş servis ve uygulamalardan bazılarıdır. Bunun gibi onlarca, yüzlerce servis sayabiliriz.

Go dilini ister linux ister macos veya windows olsun her ortamda derleyebilirsiniz. IDE olarakta benim önerim Visual Studio Code’dur. Çok güzel bir go eklentisi var ve diğer idelere göre daha az kaynak tüketiyor ve hızlı çalışıyor.

Adım Adım Kurulumunu Yapalım

Öncelikle sitesinden (https://golang.org) kendi sisteminize uyan kurulumu indiriyorsunuz. Ben windows kullandığım için go.1.8.windows-amd64.msi dosyasını indirdim. Kurulum yeri olarak C:\Go dizinini gösterdim. Kurulum işlemi otomatik olarak bu dizinin yolunu system yoluna (path) ekledi. Böylece komut satırında go diyerek komutlarımı çalıştırmaya başlayabilirim.

Workspace Kavramı

Genel olarak her go geliştiricisi tüm kodlarını tek bir çalışma ortamında (workspace) bulundurur.

Çalışma ortamı (workspace) belli bir dizin hiyerarşisine karşılık gelen bir yapı. Kodlarımızı bu yapı içerisinde geliştiriyoruz.

  • src dizini tüm kaynak kodların bulunduğu dizin.
  • pkg dizini paket objelerini
  • bin dizini de çalıştırılabilir dosyaları bulunduruyor.

Bir fikir vermesi açısından örnek bir çalışma ortamı (workspace) ortamına bakalım.

Bu örneği kendi sitesinden aldım. Daha detaylı incelemek için sitesine bakabilirsiniz.

Ben kendi belirlediği çalışma (default workspace) ortamını kullanmayıp, C:\gowork diye bir yeri çalışma ortamı olarak belirlediğim için, gopath ortam değişkenini bu yerle eşleştiriyorum. Ayrıca, C:\gowork\bin dizinini de sistem path ortam değişkenine ekliyorum.

Bu ayarları yaptıktan sonra, C:\gowork dizinimize gidip src, bin ve pkg dizinlerini oluşturalım.

src dizinine geçerek yeni projemiz için dizin oluşturalım. Projemizin ismi hello olsun.

Visual Studio Code bilgisayarda kurulu değilse, kurulumunu yapalım.

Visual Studio Code’u açıp, Go eklentisini kuralım.

Ctrl + Shift + P ile command palet komutunu çağıralım. Go diyerek aratalım. lukehoban tarafından geliştirilmiş eklentiyi kuralım.

Örnek Uygulama

Artık örnek bir uygulama geliştirebiliriz. Daha önce oluşturmuş olduğumuz C:\gowork\src\hello dizinini visual studio code ile açalım ve hello.go kodunu yazalım:

Visual Studio Code içerisinde, terminal penceresini açıp, golang komutlarını girelim. ( Ctrl + ” kısa yolu ile terminal penceresini açabiliriz )

Görüldüğü üzere kodu derlemek için go install  komutunu çağırdık. Sonra hello diyerek, uygulamamızı çalıştırmış olduk.

Kodda bir değişken tanımladık ve basit bir toplama işlemi yaptık. Daha sonra da bunu konsola yazdırdık. Dilin özellikleri ile ilgili daha detaylı yazılar hazırlamak istiyorum. Bu yazıların birinde de beego kütüphanesini kullanarak, nasıl rest servisler yazılır bunu görmüş olacağız.

Son olarak Visual Studio Code ile nasıl kod debug edilir onu görelim.

go get ile dlv komut satırı programını indirelim:

Kurulup kurulmadığına emin olmak için konsol üzerinde dlv komutunu çalıştıralım:

var i = 10 satırının olduğu yere breakpoint koyalım (F9).

Debug sekmesini açıp (Ctrl + Shift + D), play düğmesine basalım. Böylece breakpoint koyduğumuz yerde işlemin durduğunu görebiliriz.

 

 

 

 

 

 

 

 

 

 

 

 

Yorum Gönder

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Scroll to Top