Tipni aniqlash
O'zgaruvchi aniq tip ko'rsatilmasdan e'lon qilinganda (ya'ni := sintaksisi yoki var = ifodasi orqali), o'zgaruvchining tipi o'ng tomondagi qiymatdan aniqlanadi (inferred).
E'longa o'ng tomondagi qiymat tipli bo'lsa, yangi o'zgaruvchi ham aynan shu tipda bo'ladi:
var i int
j := i // j — int
Lekin o'ng tomonda tipsiz sonli konstanta bo'lsa, yangi o'zgaruvchi konstantaning aniqligiga qarab int, float64 yoki complex128 bo'lishi mumkin:
i := 42 // int
f := 3.142 // float64
g := 0.867 + 0.5i // complex128
Misol koddagi v ning boshlang'ich qiymatini o'zgartirib, uning tipi qanday o'zgarishini kuzating.
Yechimni kodning pastki qismidagi
Topshiriqlarbo'limiga yozing, so'ng Submit tugmasini bosing. Mavzu mustahkam o'zlashishi uchun ikkala topshiriqni ham bajaring.
tiplar() (string, string, string) funksiyasini yozing: a := 42, b := 3.14, c := 1 + 2i o'zgaruvchilarini e'lon qilib, ularning tip nomlarini (fmt.Sprintf("%T", ...)) shu tartibda qaytarsin. Tipni o'zingiz yozmang, kompilyator aniqlasin.
aralash() (string, string) funksiyasini yozing: a := 7 / 2 va b := 7 / 2.0 ifodalaridan hosil bo'lgan a va b o'zgaruvchilarining tip nomlarini (%T) qaytarsin. Nima uchun tiplar turlicha ekanini o'ylab ko'ring.