Go Programlama’da Değişkenlere Bakış
Merhaba! GO ya da diğer adıyla GoLang ile yazılarıma kaldığım yerden devam ediyorum. Daha önceki ve aynı zamanda GO ile ilgili olan ilk yazımı okumadıysanız buradan yazıma ulaşabilirsiniz. Bu yazıda GO’da değişken yapısından bahsedeceğim. Yazının sonunda öğrendiklerimizi pekiştirmek adına GitHub’taki goworld reposu için bir de link bırakacağım. Giriş kısmını fazla uzatmadan hemen değişken yapısıyla ilgili bilgi aktarımına geçiyorum.
GO’da bir değişken tanımlamanın birden fazla yöntemi var. Bunlardan ilki aşağıdaki gibi:
var newStr string = "Welcome to Variables!"
Yukarıdaki kod satırında newStr isimli bir değişken tanımladık ve değişkenin tipini string olarak belirledik. Default olarak da bir değer atadık: “Welcome to Variables!”. Bunu aşağıdaki örnekte olduğu gibi doğrudan da tanımlayabilirdik.
var newStr string = "Welcome to Variables!"
Bu örnekte herhangi bir primitive type tanımladan doğrudan bir değişken tanımladık. Burada başta bir sıkıntı yokmuş gibi görünüyor; ancak string – integer dönüşüm işlemlerinde doğrudan PHP gibi script dillerinde olduğu gibi dönüştürmeniz mümkün değil. Bu durumda Go Compiler size hata verecektir. Bu işlemi düzgün bir biçimde yapmak için strconv paketini kullanmanız gerekir.
newStr := "Welcome to Variables!"
Yukarıdaki kod satırı da Go’da bir değişken tanımlamak için alternatif yöntem. Short-hand notation dediğimiz bu yöntemin bir üstteki yöntemden farkı yok. Bu şekilde bir tanımlama yaptığınız zaman sadece bir deklarasyon yapmakla kalmayıp aynı zamanda bir değer ataması yapmış oluyorsunuz; ancak bazı göz ardı etmememiz gereken hususlar var. Örneğin, yukarıdaki yöntemle aynı değişkeni iki kez tanımlayın aynı değeri atadığınız zaman Go Compiler size hata veriyor. Yine aynı şekilde short-hand notation ile değişkenleri fonksiyonların dışında tanımlayamıyorsunuz.
Değişkenlerle ilgili Go yazısının sonuna geldik. Yazının başında da söz verdiğim gibi, buradaki bağlantıdan değişkenlerle ilgili örnek kod parçasına ulaşabileceğinizi hatırlatır, iyi çalışmalar dilerim.