GO 101 — Değişkenler ve Sabitler

Berk Safran
Huawei Developers - Türkiye
3 min readJan 14, 2021

Go programlama dilinde (Go Lang) değişken ve sabitlerle ilgili tanımlama ve değer atama işlemlerine göz atalım.

Değişken (Variable) Tanımlama

Değişken tanımlamalarımız için var ön eki ile birlikte değişkenimizin tipini belirtmemiz gerekir:

var foo string
var bar int
var age string

Bir satırda birden fazla değişken tanımlayabiliriz:

var foo, bar, name string

Değişkenlere Değer Atama

Tanımladığımız değişkenlere tanımlama esnasında veya sonrasında değer atayabiliriz:

var name string = "Berk"var age int = 30// veyavar (
name string = "Berk"
age int = 23
)

Dikkat! Go Lang’de string tanımlarında Çift Tırnak (“”) kullanılmalıdır. JavaScript’teki gibi tek tırnak hataya sebep olur. Tek Tırnak, Go dilinde karakter temsil eder ve ekrana basıldığında yazılan karakterin ASCII Code karşılığını verir.

Fakat, backtick (``) desteklenir ve birden fazla satır yazmak için kullanışlıdır.

var char = 'M'fmt.Println("char:", char)// Output: char: 66

— — —

var name string = "Veli"message := `Merhaba,Bu bir mesajdır.`fmt.Println(name, message)// Output:Veli Merhaba,Bu bir mesajdır.

Tanımladığımız bir değişken, tekrar tanımlanamaz (Redeclaration):

var name string = "Veli"var name = "Berk"// error: name redeclared in this block

var ön eki kullanılmadan eşittir ile yapılan tanımlamalar hataya sebep olacaktır:

age = 23 // error: undefined: age

var ön eki kullanılmadan kısayolla tanımlama yapmak için := kullanılmalıdır.

Burada dikkat edilmesi gereken nokta, bu kısayol sadece fonksiyonlar içerisinde geçerlidir, fonksiyon dışında var ön eki kullanılması gerekmektedir.

age := 23

Değişken tanımlama ve değerini atarken herhangi bir tip belirtmediğinizde Go, atanan değere bakarak değişkenin tipini kendisi belirler.

Bir Satırda Birden Fazla Değer Atama

Bir satırda birden fazla değişkeni tanımlayabildiğimiz gibi değerlerini de atayabiliriz:

var message, age, isAdmin = "Merhaba", 23, true// veyamessage, age, isAdmin := "Merhaba", 23, true

Grup Halinde Değer Atama

Birden fazla değişkeni gruplayarak tanımlayabilir, değerlerini atayabiliriz:

const i = 100
const pi = 3.1415
const prefix = "Go_"

var i int
var pi float32
var prefix string

Gruplanmış hali:

const(
i = 100
pi = 3.1415
prefix = "Go_"
)

var(
i int
pi float32
prefix string
)

Varsayılan Değer (Default — Zero Values)

Bir değişkene değer atamadığınızda Go, değişkenin tipine göre default (varsayılan) değerini atar. Bazı tiplere göre default değerler şunlardır:

  • string için boşluk (“”),
  • bool için false,
  • int için 0 (sıfır)’dır.
var name stringvar age intvar isPerson boolfmt.Println(name, age, isPerson)// Output://    0 false

Sabitler (Constants — const)

Sabitleri de değişkenler gibi tanımlayabilir ve değerlerini atayabiliriz. Değişkenlerden farkları, sabitlerin değerini tanımlama yaparken atamamız gerekliliği ve değeri atanan sabitlerin daha sonradan değerinin değiştirilemez olmasıdır.

const isim string = “Ali”const name = ”Veli”

Dikkat!

const ile tanımlama ve değer atarken := kısayolunu kullanamayız.

Yanlış kullanım: const name := "Berk"

Doğru kullanım: const name = "Berk"

Etkisiz Değişken

Go’da bazı fonksiyonlardan 2 farklı değişken return edilebilmektedir. Fakat, biz bu değişkenlerden birini kullanmak istemeyebiliriz. Go ise tanımlanan ama kullanılmayan paket, değişken, fonksiyon vb. ne olursa olsun hata verecektir. Bu tür durumlarda kullanmak istemediğimiz değişkenleri _ (alttan tire) olarak isimlendirebiliriz. Bu Go dilinde özel tanımlanmış bir değişkendir ve etkisiz olarak nitelendirilir.

package mainfunc deneme() (string, string) {return "Merhaba", "Berk"}func main() { _, gelenIsim := deneme() println(_) // cannot use _ as value println(gelenIsim)} 

Yukarıdaki örnekte _ değerini ekrana yazdırmaya çalıştık ve compile sırasında hata aldık. İlgili satırı sildiğimizde elde edeceğimiz Output > Berk olacaktır.

Bu yazımızda Go programlama dilinde değişkenler ve sabitlere değindik. Yeni özellikler eklendikçe yazıyı güncelleyeceğim.

Sağlıcakla kalın.

--

--