GoLang Değişkenler

Değişkenler, herhangi bir türden değer depolamak için kullanılır. GO’da değişkenler var ifadesiyle ile tanımlanır.

Kurallar:

  • Değişken adı harf veya alt çizgi ile başlayabilir.
  • Başlangıçtan sonra herhangi bir harf, sayı veya alt çizgi gelebilir.
  • Büyük/Küçük harfe duyarlıdır.
  • Değişken adı go’nun anahtar kelimelerinden biri olamaz.
  • Değişkenin uzunluğunda bir sınırlama yoktur.

Değeri olmayan tekli değişken tanımlama

Aşağıda,  ​​değeri olmayan bir değişken tanımladım. Birincisi var anahtar sözcüğü, ikincisi değişken adı ve üçüncüsü değişken türüdür. Ayrıca, değer sağlanmadığından dolayı değişken varsayılan olarak sıfır değerini almaktadır.

var <variable_name> <type>

Örnek; değişken ismi abc, türü int olan ve değeri olmayan bir değişken tanımladım.

package main

import "fmt"

func main() {
    var abc int
    fmt.Println(abc)
}

Kod Çıktısı: Kod çalıştırıldığında değeri 0 olan int türündeki sonuç ekrana yazdırılacaktır.

Değer atanan tekli değişken tanımlama

Her şey yukarıdaki ile aynıdır, sadece değişkenin sonuna değişkene değer atıyoruz.

var <variable_name> <type> = <value>

Örnek; değişken ismi abc, türü int olan ve değeri 100298 olan bir değişken tanımladım.

package main

import "fmt"

func main() {
    var abc int = 100298
    fmt.Println(abc)
}

Kod Çıktısı: Kod çalıştırıldığında değeri 100298 olan int türündeki sonuç ekrana yazdırılacaktır.


Değeri olmayan çoklu değişken tanımlama

Aşağıda,  ​​değeri olmayan çoklu değişken tanımladım. Bilmeniz gereken, aynı türdeki değişkenlerin birlikte tanımlanacağıdır.

var <first1>, <second2>,…..,<endlessN> <type>

package main

import "fmt"

func main() {
    var abc, def int
    fmt.Println(abc)
    fmt.Println(def)
}

Kod Çıktısı: Varsayılan olarak int türünde sıfır değerini yazdırır.

0
0

Değer atanan çoklu değişken tanımlama 

Her şey yukarıdaki ile aynıdır, sadece değişkenin sonuna değişkene değer atıyoruz. Ve aynı türde olduğuna dikkat ediyoruz.

var <first1>, <second2>,…..,<endlessN> <type> = <value1>, <value2>,…..,<valueN>

package main

import "fmt"

func main() {
    var abc, def int = 10, 12
    fmt.Println(abc)
    fmt.Println(def)
}

Kod Çıktısı: 

10
12

 


Farklı türlerdeki değişkenleri tanımlama

Aşağıda, farklı türlere sahip birden çok değişken tanımladım. Değeri atanmamış değişkenler, o türün varsayılan değerini alır.

package main

import "fmt"

func main() {
    var (
        abc int
        def int    = 1002
        xyz string = "onur"
    )

    fmt.Println(abc)
    fmt.Println(def)
    fmt.Println(xyz)
}

Kod Çıktısı:

0
1002
onur

Tür belirtmeden değişken tanımlama

Değişkenler ayrıca tür belirtilmeden de tanımlanabilir. Değişkene atanan değere göre GO derleyicisi değişkenin türünü belirleyecektir.

var <variable_name> <type>

Aşağıdaki tabloda temel değişken türlerini verdim. Örnek olarak, değer bir tamsayı ise ekrana yazdırılan değişkenin türünün int olacağı, değer bir ondalık değer ise ekrana yazdırılan değişkenin türünün float64 olacağı ve diğer değerlere karşılık gelen değişken türleri aşağıdaki tabloda da gösterildiği gibi olacağıdır.

Integers int
Floats float64
Complex Numbers complex128
Strings string
Booleans bool
Characters int32 or rune

Örnek:

package main

import "fmt"

func main() {
    var a = 1002                 //Sonuç int olacaktır.
    var b = "onur"               //Sonuç string olacaktır.
    var c = 3.20                 //Sonuç float64 olacaktır.
    var d = false                //Sonuç bool olacaktır.
    var e = 'a'                  //Sonuç rune olacaktır.
    var f = 4 + 2i               //Sonuç complex128 olacaktır.
    var g = sample{name: "test"} //Sonuç main.Sample olacaktır.

    fmt.Printf("Tür: %T Değer: %v\n", a, a)
    fmt.Printf("Tür: %T Değer: %v\n", b, b)
    fmt.Printf("Tür: %T Değer: %v\n", c, c)
    fmt.Printf("Tür: %T Değer: %v\n", d, d)
    fmt.Printf("Tür: %T Değer: %v\n", e, e)
    fmt.Printf("Tür: %T Değer: %v\n", f, f)
    fmt.Printf("Tür: %T Değer: %v\n", g, g)
}

type sample struct {
    name string
}

Kod  Çıktısı:

Tür: int Değer: 1002
Tür: string Değer: onur
Tür: float64 Değer: 3.2
Tür: bool Değer: false
Tür: int32 Değer: 97
Tür: complex128 Değer: (4+2i)
Tür: main.sample Değer: {test}

 

Yorum Yap