Menu
CoddyTech

Fungsi yang Mengembalikan error

Termasuk bagian Dasar-Dasar dalam perjalanan GO di Coddy. Pelajaran 104 dari 109.

Dalam Go, fungsi biasanya mengembalikan error sebagai nilai pengembalian terakhir untuk menunjukkan apakah terjadi kesalahan.

Buat fungsi yang mengembalikan hasil dan error:

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("cannot divide by zero")
    }
    return a / b, nil
}

Panggil fungsi dan tangani error:

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Error:", err)
    } else {
        fmt.Println("Result:", result)
    }
}

Outputnya akan menjadi:

Error: cannot divide by zero
challenge icon

Tantangan

Pemula

Dalam tantangan ini, kamu akan berlatih membuat fungsi yang mengembalikan error saat input yang tidak valid diberikan.

Kamu perlu melengkapi fungsi validateUsername yang memeriksa apakah username valid. Username valid jika panjangnya setidaknya 3 karakter. Jika username valid, kembalikan nil untuk error. Jika tidak valid, kembalikan error dengan pesan yang sesuai.

Kode untuk memanggil fungsimu dan menangani error sudah ditulis untukmu.

Catatan: Tantangan ini menggunakan variabel yang telah ditentukan, bukan input pengguna.

Coba sendiri

package main

import (
	"errors"
	"fmt"
)

func validateUsername(username string) error {
	// TODO: Periksa apakah panjang username kurang dari 3 karakter
	// Jika ya, kembalikan error dengan pesan "username too short"
	// Jika tidak, kembalikan nil (tanpa error)
	
	return nil
}

func main() {
	// Uji dengan username yang valid
	validName := "bob123"
	err1 := validateUsername(validName)
	if err1 != nil {
		fmt.Printf("%s is invalid: %v\n", validName, err1)
	} else {
		fmt.Printf("%s is valid!\n", validName)
	}
	
	// Uji dengan username yang tidak valid
	invalidName := "ab"
	err2 := validateUsername(invalidName)
	if err2 != nil {
		fmt.Printf("%s is invalid: %v\n", invalidName, err2)
	} else {
		fmt.Printf("%s is valid!\n", invalidName)
	}
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Go online