Ringkasan: Menangani Masalah
Termasuk bagian Dasar-Dasar dalam perjalanan GO di Coddy. Pelajaran 109 dari 109.
Tantangan
MudahMari berlatih menangani error di Go dengan program konversi suhu sederhana.
Tugasmu adalah mengimplementasikan fungsi yang mengonversi suhu dari Celsius ke Fahrenheit, dengan penanganan error yang tepat.
Lengkapi fungsi celsiusToFahrenheit yang:
- Mengonversi suhu Celsius ke Fahrenheit menggunakan rumus: F = C × 9/5 + 32
- Mengembalikan error jika suhu berada di bawah nol mutlak (-273.15°C)
Untuk pesan error, kamu harus mengembalikan tepat: "Error: temperature below absolute zero"
Fungsi main berisi kasus uji untuk memverifikasi implementasimu.
Coba sendiri
package main
import (
"errors"
"fmt"
)
// celsiusToFahrenheit mengonversi suhu dari Celsius ke Fahrenheit
// Mengembalikan error jika suhu di bawah nol mutlak (-273.15°C)
func celsiusToFahrenheit(celsius float64) (float64, error) {
// TODO: Terapkan logika konversi
// 1. Periksa apakah suhu di bawah nol mutlak (-273.15°C)
// 2. Jika valid, konversi menggunakan rumus: F = C × 9/5 + 32
// 3. Kembalikan nilai dan error yang sesuai
return 0, nil
}
func main() {
// Uji suhu yang valid
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)
}
// Uji suhu valid lainnya
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)
}
// Uji suhu yang tidak valid (di bawah nol mutlak)
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)
}
}Semua pelajaran di Dasar-Dasar
4Operator Perbandingan dan Logika
Operator Perbandingan, Bagian 1Operator Perbandingan, Bagian 2Operator AND LogikaOperator OR LogikaOperator NOT LogikaDasar Prioritas OperatorRingkasan, Membuat Perbandingan7Alur Kontrol: Perulangan
Penjelasan tentang `for` loop`for` loop Dasar`for` loop dengan Kondisi SajaKata Kunci `break`Kata Kunci `continue`Perulangan BersarangRangkuman: Mengulang Tindakan2Variabel dan Tipe Data Dasar
Apa itu variabelInferensi Tipe dengan `:=`Bilangan Bulat (int)Bilangan Floating-PointBooleanstringNilai NolKonstantaKonvensi PenamaanRangkuman: Variabel dan Tipe5Input/Output Dasar
Output TerformatKata Kerja FormatMencetak Tipe DataMendapatkan Input Dasar dari PenggunaRangkuman: Input dan Output8Fungsi
Memahami FungsiMendeklarasikan FungsiMemanggil FungsiParameter FungsiMengembalikan Satu NilaiMengembalikan Beberapa NilaiNilai Kembalian BernamaDasar Cakupan FungsiRangkuman: Membuat Kodemu Dapat Digunakan Kembali11Tipe Komposit: Slice
Pengenalan SliceMendeklarasikan Literal SliceMembuat Slice dengan `make`Panjang Slice vs KapasitasMengakses Elemen SliceMenambahkan ElemenMembuat Slice dari Slice/Array yang AdaMelakukan Iterasi pada SliceMenyalin SliceRangkuman: List Dinamis14Penanganan error Dasar
Konsep errorInterface `error`Fungsi yang Mengembalikan errorMemeriksa errorMembuat error SederhanaMembuat error BerformatPenanganan error DasarRingkasan: Menangani Masalah3Operator Dasar
Operator AritmetikaOperator PembagianOperator ModuloOperator PenugasanOperator Penugasan GabunganInkrementasi dan DekrementasiRangkuman: Perhitungan6Alur Kontrol: Percabangan
Pernyataan `if`Kata Kunci `else`Kata Kunci `else if`Shadowing Variabel dalam `if`Menginisialisasi VariabelPernyataan `switch``switch` dengan Ekspresi`switch` tanpa EkspresiKata Kunci `fallthrough`Ringkasan: Membuat KeputusanLatihan sendiri: Compiler Go online