Proje tasarımı
- Go kursu
- Başlangıç
- Ders 25/90
- 6 dk
Hesap makinesi iskeletini ve menü yapısını tasarlarsın.
Proje: hesap makinesi
Bu projede dört işlem yapan bir komut satırı hesap makinesi yazacaksın. Önce yapıyı tasarla: her işlem ayrı bir fonksiyon olacak, hesapla fonksiyonu işlem simgesine göre doğru fonksiyonu seçecek.
func topla(a, b float64) float64
func cikar(a, b float64) float64
func carp(a, b float64) float64
func bol(a, b float64) (float64, error)
func hesapla(a float64, islem string, b float64) (float64, error)Küçük fonksiyonlara bölmek, her parçayı ayrı ayrı denemeyi kolaylaştırır.
Neden float64?
Hesap makinesinde 7 / 2 işleminin 3.5 vermesi beklenir. Bu yüzden sayılar float64 olarak tutulur. Sonucu yazdırırken %g biçimi gereksiz sıfırları göstermez: 3.5 → 3.5, 4.0 → 4.
Uygulama İskelet
topla(a, b float64) float64 fonksiyonunu yaz ve fmt.Printf("%g\n", topla(2, 1.5)) ile dene.
Başlangıç kodu
package main
import "fmt"
func main() {
// buraya yaz
}Örnek çözüm
package main
import "fmt"
func topla(a, b float64) float64 { return a + b }
func main() {
fmt.Printf("%g\n", topla(2, 1.5))
}Beklenen çıktı
3.5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Neden yalnızca <code>bol</code> fonksiyonu <code>error</code> döndürür?
- Diğerleri de döndürmeli
- Sıfıra bölme gibi başarısız olabilecek tek işlem odur Doğru cevap
- Bölme daha yavaştır
- Go bölmede error zorunlu kılar
Açıklama: Toplama, çıkarma ve çarpma her girdide sonuç verir; bölme ise sıfırda tanımsızdır ve bunu çağırana bildirmelidir.
2 İki dönüş
func bol(a, b float64) (float64, ____) {
func bol(a, b float64) (float64, error) {
Açıklama: Başarısız olabilen fonksiyonlar son dönüş değeri olarak error verir.
3 Fonksiyon ve görevi
| Kavram | Anlamı |
|---|---|
topla |
a + b |
bol |
a / b ve hata |
hesapla |
İşleme göre seçer |
%g |
Gereksiz sıfırı gizler |