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ıda Yapılan Değişiklikler
- 11.05.2022: Yazı özeti düzenlendi.