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
var name string = "Ada"
var age int = 36
var active boolDeğ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'ı:
name := "Ada" // string
age := 36 // int
pi := 3.14 // float64
active := true // boolHemen tanışacağınız temel türler
| Tür | Örnek | Notlar |
|---|---|---|
int | 42 | boyut CPU'ya bağlıdır (32 veya 64 bit) |
float64 | 3.14 | ondalık değişmez değerler için varsayılan |
string | "Ada" | UTF-8, değişmez |
bool | true, false | "gerçek" yok, yalnızca saf bool |
rune | 'A' | int32 takma adı, bir Unicode kod noktasını temsil eder |
byte | 0x7F | uint8 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:
var (
name string = "Ada"
age int = 36
active bool
)
x, y := 10, 20
a, b, c := "a", 2, true // different types: no problemBildirilen 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.
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:
_ = xSıra sende
'Ada' değerine sahip string türünde bir değişken adı bildirmek ve yazdırmak için var'ı kullanın.
İpucu göster
Uzun biçimi `var <name> <type> = <value>` şeklindedir.
3 denemeden sonra çözüm mevcut
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.
İpucu göster
Aynı anda birden fazla değişken atayabilirsiniz: `a, b := 1, "due"`.
3 denemeden sonra çözüm mevcut
Bu bildirimlerden hangisi bir işlevin DIŞINA yerleştirildiğinde derleme hatası üretir?
// (a)
var name string = "Ada"
// (b)
age := 36
// (c)
const PI = 3.14Özet
- Statik tür,
:=tarafından otomatik olarak çıkarılır veyavarile bildirilir. :=yalnızca işlevlerin içinde; yalnızca paket düzeyindevar/const.- Kullanılmayan değişkenler ve içe aktarmalar = derleme hatası: bunları susturmak için
_kullanın. int/float64/string/boolgünlük vakaların %90'ını kapsar.