Özet - Problemleri Ele Alma
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 109 / 109.
Görev
KolayBasit bir sıcaklık dönüştürme programı ile Go'da hata yönetimini pratik edelim.
Göreviniz, uygun hata yönetimi ile sıcaklıkları Celsius'tan Fahrenheit'a dönüştüren bir fonksiyon uygulamaktır.
Şunları yapan celsiusToFahrenheit fonksiyonunu tamamlayın:
- F = C × 9/5 + 32 formülünü kullanarak bir Celsius sıcaklığını Fahrenheit'a dönüştürür
- Sıcaklık mutlak sıfırın (-273.15°C) altındaysa bir hata döndürür
Hata mesajı için tam olarak şunu döndürmelisiniz: "Error: temperature below absolute zero"
Ana fonksiyon, uygulamanızı doğrulamak için test durumları içerir.
Kendin dene
package main
import (
"errors"
"fmt"
)
// celsiusToFahrenheit, Celsius'u Fahrenheit'a dönüştürür
// Sıcaklık mutlak sıfırın (-273.15°C) altındaysa bir hata döndürür
func celsiusToFahrenheit(celsius float64) (float64, error) {
// YAPILACAK: Dönüştürme mantığını uygula
// 1. Sıcaklığın mutlak sıfırın (-273.15°C) altında olup olmadığını kontrol et
// 2. Geçerliyse, şu formülü kullanarak dönüştür: F = C × 9/5 + 32
// 3. Uygun değeri ve hatayı döndür
return 0, nil
}
func main() {
// Geçerli sıcaklığı test et
fmt.Println("Converting 25°C to Fahrenheit:")
fahrenheit, err := celsiusToFahrenheit(25)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("25°C = %.2f°F\n", fahrenheit)
}
// Başka bir geçerli sıcaklığı test et
fmt.Println("\nConverting 0°C to Fahrenheit:")
fahrenheit, err = celsiusToFahrenheit(0)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("0°C = %.2f°F\n", fahrenheit)
}
// Geçersiz sıcaklığı test et (mutlak sıfırın altı)
fmt.Println("\nConverting -300°C to Fahrenheit:")
fahrenheit, err = celsiusToFahrenheit(-300)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("-300°C = %.2f°F\n", fahrenheit)
}
}Temeller bölümündeki tüm dersler
4Karşılaştırma ve Mantıksal Operatörler
Karşılaştırma Operatörleri - Bölüm 1Karşılaştırma Operatörleri - Bölüm 2Mantıksal VE OperatörüMantıksal VEYA OperatörüMantıksal DEĞİL OperatörüOperatör Önceliği TemelleriÖzet - Karşılaştırma Yapma7Kontrol Akışı: Döngüler
`for` Döngüsü Nedir?`for` Döngüsü - Temel`for` Döngüsü - Sadece Koşul`break` Anahtar Kelimesi`continue` Anahtar Kelimesiİç İçe DöngülerÖzet - İşlemleri Tekrarlama2Değişkenler ve Temel Veri Tipleri
Değişken nedir?`:=` ile Tür ÇıkarımıTam Sayılar (int)Ondalıklı SayılarBooleanlarStringlerSıfır DeğerlerSabitlerİsimlendirme KurallarıÖzet - Değişkenler ve Türler5Temel Giriş/Çıkış
Biçimlendirilmiş ÇıktıBiçim BelirteçleriVeri Tiplerini YazdırmaTemel Kullanıcı Girdisi AlmaÖzet - Giriş ve Çıkış8Fonksiyonlar
Fonksiyonları AnlamakFonksiyon TanımlamaFonksiyonları ÇağırmaFonksiyon ParametreleriTek Bir Değer DöndürmeBirden Fazla Değer Döndürmeİsimlendirilmiş Dönüş DeğerleriFonksiyon Kapsamı TemelleriÖzet - Yeniden Kullanılabilir Kod Oluşturma11Bileşik Tipler: Dilimler
Dilimlere GirişDilim Literallerini Tanımlama`make` ile Dilim OluşturmaDilim Uzunluğu vs KapasiteDilim Elemanlarına ErişimEleman EklemeMevcut Dilimleri/Dizileri DilimlemeDilimler Üzerinde YinelemeDilimleri KopyalamaÖzet - Dinamik Listeler14Temel Hata Yönetimi
Hata Kavramı`error` ArayüzüHata Döndüren FonksiyonlarHataları Kontrol EtmeBasit Hatalar OluşturmaFormatlanmış Hatalar OluşturmaTemel Hata YönetimiÖzet - Problemleri Ele Alma3Temel Operatörler
Aritmetik OperatörlerBölme OperatörüModulo OperatörüAtama OperatörüBileşik Atama OperatörleriArtırma ve AzaltmaÖzet - Hesaplamalar6Kontrol Akışı: Koşullu İfadeler
`if` İfadesi`else` Anahtar Kelimesi`else if` Anahtar Kelimesi`if` İçinde Değişken GölgelemeDeğişkenleri Başlatma`switch` İfadesiİfadeli `switch`İfadesiz `switch``fallthrough` Anahtar KelimesiÖzet - Karar Verme