Tür dönüşümü
- Go kursu
- Başlangıç
- Ders 22/90
- 4 dk
Go'da açık tür dönüşümünü öğrenirsin.
Tür dönüşümü
Go farklı sayı türlerini kendiliğinden karıştırmaz; int ile float64'ü toplamak derleme hatasıdır. Dönüşüm açıkça Tür(değer) biçiminde yazılır:
adet := 3
fiyat := 12.5
toplam := float64(adet) * fiyat // 37.5
tam := int(toplam) // 37 (ondalık atılır)int() dönüşümü yuvarlamaz, ondalık kısmı keser.
Sayı ve metin dönüşümü
string(65) "65" değil, kodu 65 olan karakteri ("A") verir. Sayıyı metne ve metni sayıya çevirmek için strconv paketi kullanılır:
s := strconv.Itoa(42) // "42"
n, err := strconv.Atoi("17") // 17, nil
_, err = strconv.Atoi("on") // hata: invalid syntaxAtoi hata döndürebildiği için sonucu her zaman kontrol edilir.
Uygulama Ortalama hesapla
toplam := 17 ve adet := 4 tanımla. Ortalamayı float64 dönüşümüyle hesapla ve fmt.Printf("%.2f\n", ortalama) ile yazdır.
Başlangıç kodu
package main
import "fmt"
func main() {
// buraya yaz
}Örnek çözüm
package main
import "fmt"
func main() {
toplam := 17
adet := 4
ortalama := float64(toplam) / float64(adet)
fmt.Printf("%.2f\n", ortalama)
}Beklenen çıktı
4.25
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 <code>int(9.99)</code> kaçtır?
- Hata
- 9 Doğru cevap
- 10
- 9.99
Açıklama: Ondalıktan tam sayıya dönüşüm sıfıra doğru keser; yuvarlamak için math.Round kullanılır.
2 Ondalığa çevir
ortalama := ____(toplam) / float64(adet)
ortalama := float64(toplam) / float64(adet)
Açıklama: Bölmeden önce float64'e çevirmek ondalık sonucu korur.
3 Dönüşüm ve sonuç
| Kavram | Anlamı |
|---|---|
float64(3) |
3.0 |
int(7.8) |
7 |
strconv.Itoa(5) |
"5" |
string(rune(65)) |
"A" |