Go ve değişkenler

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

Bir soru, öneri ya da yorumunuz mu var?

Evren Bal

Ben Evren BAL

1996'dan beri ‘Internet canlısıyım!’

Evren Bal Hakkında daha fazla bilgi.

Tanışmak isterseniz hemen sosyal medyadan iletişime geçebilirsiniz.

Bana Ulaşın

Bana Ulaşın

  • Bir sorunuz mu var?
  • Yazıda bir hata mı farkettiniz?
  • Sayfa ile ilgili bir öneriniz mi var?
  • Yazmamı önereceğiniz bir konu mu var?

Lütfen iletişim formunu kullanarak veya sosyal medya hesaplarımdan bana ulaşın.

Digital Ocean Logo

VPS sunucusu denemek ister misiniz?

Digital Ocean'a referans bağlantımdan kayıt olarak yeni oluşturacağınız hesabınızı 60 gün geçerli 100$ kredi ile açabilirsiniz. Bu miktar yüksek performanslı VPS'leri bile denemeniz için yeterlidir.

Yapacağınız onca kurulumun boşa gitmemesi için benim tavsiyem uzun vadede kullanabileceğiniz özellik ve maliyetlerde bir sunucu oluşturmanızdır.

Ücretsiz 100$ kredi bağlantısı

60 günlük denemeniz sonunda eğer devam etmek istemezseniz hiç bir ücret ödemeyeceksiniz. Hizmeti kullanmaya devam etmek isterseniz harcamanız 25$'a ulaştığında benim hesabıma da 25$ kredi yüklenecektir.

Diğer bir deyişle, siz 100$ ücretsiz krediyi her halükarda kazanırken, daha sonra ücretli devam etmeye karar verirseniz ben de 25$ kredi kazanacağım.

Copyright © 2023 - Evren BAL