Ana içeriğe geç
Modül 1 · Ders 1 ders 5Kurstaki 1/50~10 min
Modül dersleri (1/5)

Değişkenler ve türler

Go'da her değişkenin derleyici tarafından bilinen bir statik türü vardır: bir kez bildirildiğinde, bir değişken türü değiştiremez. Bu katılık — çok farklı JavaScript veya Python'dan - derleme zamanı elde etmek için ödediğiniz fiyattır çalışma zamanı hataları, küçük ikili dosyalar ve öngörülebilir hatalar yerine performans.

İki beyan şekli

var açık türle

Go
var name string = "Ada"
var age int = 36
var active bool

Değeri atladığınızda (var active bool'de olduğu gibi) değişken şunu alır: sıfır değeri kendi türünde — buna bir sonraki derste geri döneceğiz.

Kısa beyan :=

Bir işlevin içinde türü türeten := öğesini kullanabilirsiniz. sağdaki ifade. Bu deyimsel biçimdir ve kullanacağınız biçimdir Zamanın %90'ı:

Go
name := "Ada"   // string
age := 36        // int
pi := 3.14       // float64
active := true   // bool

Hemen tanışacağınız temel türler

TürÖrnekNotlar
int42boyut CPU'ya bağlıdır (32 veya 64 bit)
float643.14ondalık değişmez değerler için varsayılan
string"Ada"UTF-8, değişmez
booltrue, false"gerçek" yok, yalnızca saf bool
rune'A'int32 takma adı, bir Unicode kod noktasını temsil eder
byte0x7Fuint8 takma adı

Ayrıca int8/16/32/64, uint8/16/32/64, float32 ve complex64/128 vardır. kesin boyutlara ihtiyacınız olduğunda (ikili ayrıştırma, birlikte çalışma vb.).

Çoklu bildirimler

Birkaç değişkeni var bloğuyla veya çoğul := ile bildirebilirsiniz:

Go
var (
    name   string = "Ada"
    age    int    = 36
    active bool
)

x, y := 10, 20
a, b, c := "a", 2, true   // different types: no problem

Bildirilen ancak kullanılmayan değişkenler

Go katıdır: bildirilen ve hiç kullanılmayan bir değişken bir derlemedir uyarı değil hata. Aynı durum kullanılmayan import'ler için de geçerlidir.

Go
func main() {
    x := 42
    // error: x declared and not used
}

Kuralı geçici olarak susturmak için _ (boş tanımlayıcı) kullanırsınız:

Go
_ = x

Sıra sende

Egzersiz#go.m1.l1.e1
Denemeler: 0Yükleniyor…

'Ada' değerine sahip string türünde bir değişken adı bildirmek ve yazdırmak için var'ı kullanın.

Düzenleyici yükleniyor…
İpucu göster

Uzun biçimi `var <name> <type> = <value>` şeklindedir.

3 denemeden sonra çözüm mevcut

Egzersiz#go.m1.l1.e2
Denemeler: 0Yükleniyor…

Tek bir satırda, 36'yı yaşa ve 'Roma'yı şehre atamak için := kullanın, ardından her ikisini de yazdırın.

Düzenleyici yükleniyor…
İpucu göster

Aynı anda birden fazla değişken atayabilirsiniz: `a, b := 1, "due"`.

3 denemeden sonra çözüm mevcut

Quiz#go.m1.l1.e3
Hazır

Bu bildirimlerden hangisi bir işlevin DIŞINA yerleştirildiğinde derleme hatası üretir?

Go
// (a)
var name string = "Ada"

// (b)
age := 36

// (c)
const PI = 3.14
Cevap seçenekleri

Özet

  • Statik tür, := tarafından otomatik olarak çıkarılır veya var ile bildirilir.
  • := yalnızca işlevlerin içinde; yalnızca paket düzeyinde var/const.
  • Kullanılmayan değişkenler ve içe aktarmalar = derleme hatası: bunları susturmak için _ kullanın.
  • int/float64/string/bool günlük vakaların %90'ını kapsar.