Go ve değişkenler

Daha önce Golang’dan kısaca bahsetmiş, Windows ve Linux’da kurulumlarının nasıl yapılacağını anlatmıştım. İlgili yazıların bağlantıları için bkz. Go Programlama Dilinin Özellikleri, Windows 10 Golang kurulumu, Linux’da Golang kurulumu.

Go’ya giriş yaptığım bu ilk yazıda değişkenleri inceleyeceğim. Yazıda belirli seviyede bir programlama alt yapınız olduğunu ve sadece Go’da yeni olduğunuzu varsayarak çok temel konulara değinmeyeceğim.

Go’da bir çok veri tipi bulunsa da bu veri tiplerinde değişken tanımlamak için aynı yöntemi izliyoruz. Go’da değişkenlerle ilgili bilmeniz gereken bir numaralı kural: Bir değişkeni tanımladıysanız kullanın, kullanmayacaksanız tanımlamayın. Bilmeniz gereken ikinci kural ise Garbage Collection ve Golang başlıklı yazının bir bölümünde değindiğim gibi değişkenleri tanımladığınız scope’ları doğru seçin. Değişken size nerede lazımsa orada tanımlayın, değişken tanımını gereksiz yere globalde, veya daha üst scope’larda yapmayın.

Şimdi gelelim Go’da nasıl değişken ve sabit tanımladığımıza.

Go’da değişken tanımları

Go’da değişken tanımlamak için birden fazla yöntem var. İlk ve belki de en doğru yöntem, başka dillerde de kullanılan var anahtar kelimesini kullanmak.

Aşağıdaki satıra username adında ve string tipinde bir değişken tanımlıyoruz.

var username string

Aynı veri tipinde birden fazla değişkeni tek satırda tanımlayabiliriz. Örneğin aşağıda username ve password adında ve string tipinde iki değişken tanımlıyoruz. Değişken adları arasında virgül kullanmamız gerekli.

var username, password string

Değişken tanımlarını parantez içerisinde alarak yukarıda olduğu tek bir var anahtar kelimesi ile birden fazla değişken tanımlayabiliriz.

var (
    username, password string
    loginCount int
)

Go’da değişkenlere başlangıç değeri atama

Go bu konuda oldukça esnek bir yapı sunuyor ve değer atamak için birden fazla seçeneğiniz var

Değişken tanımını aşağıdaki şekilde yaparsanız Go hem bu değerleri başlangıç değeri olarak atayacak, hem de bu değerlerin tipini otomatik olarak tespit edecektir.

var (
    username = "evrenbal"
    password = "şifre"
    loginCount = 0
)

İsterseniz bu işlemi tek satırda da gerçekleştirebilirsiniz.

var (
    username, password, loginCount = "evrenbal", "şifre", 0
)

Fakat Go’da değişken tanımlama ve ilk değerini atama için çoğu zaman yukarıdaki kısa yol kullanılır. Normal şartlarda “=” ile bir değer atamak isterseniz bu değişkenin önceden tanımlanmış olması gerekir. Fakat değer atamayı “:=” ile yaparsanız go değişkeni oluşturur, veri tipini verdiğiniz değere göre otomatik belirler ve bu değeri değişkene atar.

func main() {
    username, password := "John", "Doe"
    loginCount := 0
    fmt.println(username, password, loginCount)
}

Bu yöntemde veri tipleri konusunda dikkatli olmalısınız. ( İleriki yazılarda “Go da veri tiplerine” detaylı değineceğim. ) Örneğin loginCount := 0 olarak tanımladığımızda Go bu değişkenin tipini “int” olarak belirler, bu da sistem mimariniz ve işletim sisteminize göre “int32” veya “int64” veri tipine karşılık gelebilir. Siz bu değişken için daha küçük bir int tipi ( örneğin int8 ) ön görüyorsanız bu şekilde değişken tanımlamak yerine en başta anlatıldığı gibi değişken tipini spesifik olarak belirtmelisiniz.

Go’da sabitleri belirleme

Kimi zaman değişken değil, sabit tanımlamak isteyebilirsiniz. Go’da bunun için const anahtar kelimesi kullanılır.

const HTTPStatusOK = 200
const HTTPStatusNotFound = 404
const HTTPStatusInternalServerError = 500

Sabit tanımlarken de değişkenlerde olduğu gibi tek satırda tanımlayabiliriz.

const (
    HTTPStatusOK = 200
    HTTPStatusNotFound = 404
    HTTPStatusInternalServerError = 500
)

Go’da iota adı verilen özel bir sabit tipi var. Ayrıntılı bilgi için Go’da iota nedir? Iota ne zaman ve nerede kullanılır? başlıklı yazımı okuyabilirsiniz.

Go’da veri tiplerini bir sonraki yazımda inceleyeceğim. Sorunuz olursa yorumlara yazabilirsiniz.

Kapak fotoğrafı Serpstat

Bu yazıyı beğendiniz mi?
Beğen
Bana sosyal medya hesaplarımdan ulaşın

Evren Bal

Merhaba Dünya. Teknoloji delisi, farklı düşünmeyi seven, 1996'dan beri Internet canlısı, garajdan başarı hikayesi çıkartmayı becerememiş, çünkü garajdan hiç çıkmayan bir insanım. :) Bana buradan veya sosyal medyadan ulaşmanızı, birlikte her konuda fikir alışverişi ve beyin jimnastiği yapmayı heyecanla bekliyorum.

1 Yanıt

  1. 10 Ekim 2021

    […] Go’da değişkenler konulu yazımda, “Go’da Veri Tiplerine sonraki yazıda değineceğim” demiştim. İşte bu yazı o “sonraki yazı” 🙂 […]

Soru ve Önerileriniz?

%d blogcu bunu beğendi: