`error` Arayüzü
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 103 / 109.
Go'da, error arabirimi hata durumlarını temsil eden yerleşik bir türdür. Error() yöntemini uygulayan herhangi bir tür bu arabirimi karşılar.
İşte error interface tanımı:
type error interface {
Error() string
}Özel bir hata türü oluşturun:
type MyError struct {
Message string
}
func (e MyError) Error() string {
return e.Message
}
func main() {
err := MyError{Message: "something went wrong"}
fmt.Println(err)
}Çıktı şu şekilde olacaktır:
something went wrongGörev
KolayBu görevde Go'nun error arabirimi ile çalışacaksınız. errors.New() fonksiyonunu kullanarak özel bir hata oluşturmanız ve ardından bir hatanın var olup olmadığını kontrol etmeniz gerekiyor.
Kodda zaten bir hata döndüren bir fonksiyon bulunmaktadır. Göreviniz, hatanın nil olmadığını kontrol etmek ve uygun bir mesaj yazdırmaktır.
Kendin dene
package main
import (
"errors"
"fmt"
)
func main() {
// Bu fonksiyon bir hata döndürür
err := generateError()
// TODO: err'in nil olmadığını kontrol et
// Eğer err nil değilse, yazdır: "Error occurred: " ardından hata mesajı
// HINT: err != nil olup olmadığını kontrol etmek için bir if ifadesi kullan
// Bu satır bir hata oluşup oluşmadığına bakılmaksızın çalışır
fmt.Println("Program completed successfully")
}
// Bu fonksiyon bir hata oluşturur
func generateError() error {
return errors.New("something went wrong")
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
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şturma3Temel 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