Error Interface
Bahasa pemrograman Go Mempunyai sebuah interface Spesifik yang digunakan sebagai kontrak ketika Membikin error. Interface tersebut bernama error
. Interface ini Mempunyai sebuah function bernama Error
dengan return value string
. Berikut ini kode interface error Punya Golang.
type error interface {
Error() string
}
Membikin Error di Golang
Buat Membikin error di Golang, kita Dapat Membikin struct yang Mempunyai function Error
sehingga memenuhi kontrak error interface Punya Golang. Tapi, daripada kita Membikin struct secara manual, kita Dapat memanfaatkan helper yang disediakan oleh Golang, berada dalam package errors
.
Perhatikan Misalnya kode berikut Buat Membikin error di Golang.
package main
import (
"errors"
"fmt"
"strings"
)
func Uppercase(text string) (string, error) {
if text == "" {
return "", errors.New("Text Tak boleh Hampa")
}
return strings.ToUpper(text), nil
}
func main() {
result, err := Uppercase("")
if err == nil {
fmt.Println(result)
} else {
fmt.Println("Error:", err.Error())
}
}
output:
Error: Text Tak boleh Hampa
Pada Misalnya kode di atas, kita Membikin sebuah function bernama Uppercase
yang akan merubah text menjadi uppercase. Function tersebut mengembalikan dua buah data Yakni string
sebagai hasil dari konversi uppercase, dan error
sebagai error ketika text berisi string Hampa.
Berikutnya pada function main
kita masukkan hasil dari function Uppercase
ke dalam variabel result
dan err
. Kemudian, kita Membikin pengujian kondisi sederhana Apabila variabel err
datanya adalah nil
maka kita cetak hasilnya, sedangkan Apabila variabel err
Tak berisi nil
berarti Eksis error yang terjadi. Kita cetak errornya.
Anda mungkin sedikit bingung kenapa function mengembalikan hasil dan error secara bersamaan. Di dalam bahasa pemrograman Go, function yang Dapat mengembalikan error memang sudah Normal dituliskan dengan format seperti itu. Anda Dapat Menyaksikan Misalnya-Misalnya library yang dibuat oleh para programmer Go. Mereka sering menuliskannya seperti itu.
Berikutnya: #33: Type Assertions