CodeBlanks Logo Icon CodeBlanks

Tür dönüşümü

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 syntax

Atoi 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

main.go
package main

import "fmt"

func main() {
    // buraya yaz
}

Örnek çözüm

main.go
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

Soru
ortalama := ____(toplam) / float64(adet)
Cevap
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"

Başlangıç bölümündeki tüm dersler