Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ralat pengendalian dan petua pengelogan untuk fungsi Golang

Ralat pengendalian dan petua pengelogan untuk fungsi Golang

WBOY
WBOYasal
2023-05-17 23:31:34674semak imbas

Dalam pengaturcaraan Golang, pengendalian ralat dan pengelogan fungsi adalah penting. Pengendalian ralat dan pengelogan yang baik boleh menjadikan program lebih mantap dan boleh dipercayai semasa operasi. Artikel ini akan memperkenalkan teknik pengendalian ralat dan pengelogan untuk fungsi Golang.

1. Pengendalian ralat Golang

Dalam Golang, ralat ialah nilai yang memenuhi jenis antara muka Ralat dalam pustaka standard dalam pakej Go. Antara muka ini hanya mempunyai satu kaedah Ralat, yang mengembalikan rentetan yang menerangkan ralat. Fungsi boleh mengembalikan nilai ralat jenis untuk menunjukkan sama ada ralat berlaku semasa pelaksanaan fungsi. Ini menjadikan ralat pengendalian sebagai tujuan yang wujud dalam pengaturcaraan bahasa Golang.

Pengendalian ralat hendaklah sentiasa dipertimbangkan semasa menulis kod. Jika anda ingin menulis fungsi, anda boleh melaksanakan dua tugas penting. Pertama, hasil penyiapan fungsi harus dikembalikan. Kedua, sebarang ralat yang berlaku harus dikembalikan. Berikut ialah contoh fungsi yang boleh mengembalikan ralat:

func divide(a, b int) (float64, error) {
    if b == 0 {
        return 0, fmt.Errorf("division by zero")
    }
    return float64(a) / float64(b), nil
}

Fungsi ini menyemak sama ada penyebutnya adalah sifar. Jika ya, ralat dikembalikan. Jika tidak, nilai titik terapung dibahagikan dengan dua integer dikembalikan.

result, err := divide(12, 0)
if err != nil {
    fmt.Println(err)
} else {
    fmt.Println(result)
}

Dalam contoh ini, kami memanggil fungsi divid() dengan dividen=12 dan divider=0. Oleh kerana penyebutnya ialah 0, fungsi mengembalikan ralat. Kami kemudian menyemak dan mengendalikan ralat.

Apabila menulis kod aplikasi, kita harus menggunakan pelbagai teknik dan corak pengendalian ralat. Sebagai contoh, kadangkala kita mungkin menghadapi pelbagai ralat. Dalam kes ini, setiap ralat boleh disemak menggunakan pernyataan suis. Sebaliknya, jika kita perlu mengembalikan berbilang nilai daripada fungsi, kita boleh menjadikan nilai ralat sebagai elemen terakhir senarai hasil.

func parseAge(age string) (int, error) {
    parsedAge, err := strconv.Atoi(age)
    if err != nil {
        return 0, fmt.Errorf("invalid age input: %s", age)
    }
    if parsedAge < 0 || parsedAge > 100 {
        return 0, fmt.Errorf("age out of range: %d", parsedAge)
    }
    return parsedAge, nil
}

Fungsi ini menerima parameter umur rentetan jenis dan cuba menghuraikannya. Jika penghuraian gagal, fungsi mengembalikan ralat. Jika berjaya dihuraikan, semak sama ada nilainya antara 0 dan 100. Jika ia tidak berada dalam julat, fungsi itu juga akan mengembalikan ralat lain.

2. Pengelogan Golang

Pengelogan ialah komponen penting dalam menulis aplikasi yang mantap. Log masuk Golang ialah kaedah merekod maklumat masa jalan program ke fail atau terminal.

Terdapat beberapa cara untuk log semasa menulis kod Golang. Yang paling mudah ialah menggunakan pakej log dari perpustakaan standard. Anda boleh menggunakan pakej ini untuk log masuk ke konsol dan ke fail.

package main

import (
    "log"
    "os"
)

func main() {
    logFile, err := os.Create("example.log")
    if err != nil {
        log.Fatal(err)
    }
    defer logFile.Close()
    log.SetOutput(logFile)
    log.Println("This is an example log message.")
}

Dalam contoh ini, kami membuka fail example.log. Kemudian gunakan fungsi log.SetOutput() untuk log ke fail dan bukannya terminal. Akhir sekali, kami log mesej menggunakan fungsi log.Println().

Selain itu, terdapat beberapa perpustakaan berfungsi untuk log masuk di Golang, seperti zap, logrus, dsb. Perpustakaan ini sangat berguna untuk merekodkan maklumat berjalan terperinci bagi aplikasi.

Akhir sekali, menggunakan pembalakan yang baik memerlukan kami menulis mesej log yang baik. Mesej log yang baik harus menyampaikan dengan jelas kejadian dan lokasi peristiwa log dalam aplikasi.

3. Kesimpulan

Ralat pengendalian dan pengelogan adalah komponen yang diperlukan untuk menulis aplikasi yang mantap. Golang menyediakan beberapa fungsi dan pakej terbina dalam yang boleh membantu kami membuat pengendalian ralat dan pengelogan lebih mudah. Kami harus sentiasa mempertimbangkan cara melaksanakan pengendalian ralat yang baik dan log masuk kod kami. Hanya dengan cara ini kita boleh berjaya dalam membangunkan dan menyelenggara aplikasi Golang.

Atas ialah kandungan terperinci Ralat pengendalian dan petua pengelogan untuk fungsi Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn